熊猫跳过超过900000失败

时间:2013-11-30 04:57:02

标签: python pandas

我的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。

1 个答案:

答案 0 :(得分:1)

问题似乎是您同时指定了nrowschunksize。至少在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)