3.5 goの大きなcsvファイルがあり、パンダを使用して読みたいです。
これは私のコードです:
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)
私はこのエラーを受け取ります:
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
ラムの容量は8 Goです。
この仲間を試してください:
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
このエラーは、chunksize = 200000によっても発生する可能性があります。私の場合、それを減らすことで問題は解決しました。 ℕʘʘḆḽḘのソリューションでは、チャンクサイズも小さくなり、トリックを行った可能性があります。
Csvファイルを呼び出すときにerror_bad_lines = Falseを設定してみてください。
import pandas as pd
df = pd.read_csv('my_big_file.csv', error_bad_lines = False)