J'ai un gros fichier csv de 3,5 Go et je veux le lire en utilisant des pandas.
Voici mon code:
import pandas as pd
tp = pd.read_csv('train_2011_2012_2013.csv', sep=';', iterator=True, chunksize=20000000, low_memory = False)
df = pd.concat(tp, ignore_index=True)
Je reçois cette erreur:
pandas/parser.pyx in pandas.parser.TextReader.read (pandas/parser.c:8771)()
pandas/parser.pyx in pandas.parser.TextReader._read_rows (pandas/parser.c:9731)()
pandas/parser.pyx in pandas.parser.TextReader._tokenize_rows (pandas/parser.c:9602)()
pandas/parser.pyx in pandas.parser.raise_parser_error (pandas/parser.c:23325)()
CParserError: Error tokenizing data. C error: out of
La capacité de mon bélier est de 8 Go.
essayez ce frère:
mylist = []
for chunk in pd.read_csv('train_2011_2012_2013.csv', sep=';', chunksize=20000):
mylist.append(chunk)
big_data = pd.concat(mylist, axis= 0)
del mylist
Cette erreur peut également être causée par le chunksize = 200000. Diminuer cela a résolu le problème dans mon cas. Dans la solution de ℕʘʘḆḽḘ, la taille des morceaux est également réduite, ce qui aurait pu faire l'affaire.
Vous pouvez essayer de définir error_bad_lines = False lors de l'appel du fichier csv, c'est-à-dire.
import pandas as pd
df = pd.read_csv('my_big_file.csv', error_bad_lines = False)