如何读取大型csv并使用Pandas中的Dataframe再次编写?

时间:2016-08-02 12:49:26

标签: python csv pandas

我试图读取大型csv文件(> 1GB)中的特定列,添加几个新列,然后再次写入。

当我以传统方式尝试时,该过程耗尽内存:

cols = ['Event Time', 'User ID', 'Advertiser ID', 'Ad ID', 'Rendering ID',
    'Creative Version', 'Placement ID', 'Country Code',
    'Browser/Platform ID', 'Browser/Platform Version', 'Operating System ID']
df.insert(7, 'Creative Size ID', '')
df.insert(3, 'Buy ID', '')
df = pd.read_csv(file_name, sep=',', error_bad_lines=False, usecols=cols)
df.to_csv(file_name, sep=',', encoding='utf-8', index=False)

有没有办法让这个过程更有效率?

我已经使用了chunk iterator=True, chunksize=1000但是当你想编写csv时,你需要将所有数据都存储在内存中,除非df.to_csv可以通过块写入。有可能吗?

0 个答案:

没有答案