Traité de gros fichier CSV

Pour les besoins d’un projet, j’avais besoin de traité un fichier CSV de 17Go. Compliqué, car non ouvrable par les éditeurs de texte (même Notepad++ a failli). Alors pour faire cela, j’ai trouvé une solution qui est d’utiliser Python et de découper ce fichier en de multiple plus petit fichier.

Pour ce faire, déjà vérifier que Python est installé sur votre machine. Une fois cela fait, il faut installer le module Pandas (https://pandas.pydata.org/), qui permet de faire des traitements dans des fichiers avec Python.

pip install pandas

Après, on peut créer un petit script pour faire notre traitement de base:

import pandas as pd

df = pd.read_csv(r'd:\Downloads\mon-fichier.csv', chunksize=100000)
# le param chunksize c'est la taille des "morceaux" du fichier

# plus qu'a boucler pour creer autant de fichier fichier que nécéssaire
for i, f in enumerate(df):
    f.to_csv(rf'd:\Downloads\part_{i}.csv)

Et pis, c’est tout, cela peut prendre du temps suivant la taille du fichier d’origine (dans mon cas, il m’a créé 176 fichiers de 100000 lignes chacun)

src: https://www.youtube.com/watch?v=xgH7kj90uBU

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *