我的csv文件包含6Million记录,我正在尝试使用 skiprows 将其拆分为多个较小的文件。我的Pandas版本为'0.12.0'且代码为
pd.read_csv(TRAIN_FILE, chunksize=50000, header=None, skiprows=999999, nrows=100000)
只要跳数小于900000,它就可以工作。任何想法是否是预期的?如果我不使用短语,我的小数可以达到5万条记录。还没有尝试过。也会尝试这个。
尝试了csv拆分器,但它对第一个条目不起作用,可能是因为每个单元格由多行代码等组成。
编辑:我可以通过使用pandas read_csv读取整个7GB文件并将其部分写入多个csv文件,将其拆分为csv。
答案 0 :(得分:1)
问题似乎是您同时指定了nrows
和chunksize
。至少在pandas 0.14.0中使用
pandas.read_csv(filename, nrows=some_number, chunksize=another_number)
返回Dataframe
(读取整个数据),而
pandas.read_csv(filename, chunksize=another_number)
返回一个懒惰加载文件的TextFileReader。
拆分csv然后就像这样:
for chunk in pandas.read_csv(filename, chunksize=your_chunk_size):
chunk.to_csv(some_filename)