我试图读取大型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可以通过块写入。有可能吗?