将数据保存到熊猫中的多个csv文件

时间:2019-09-16 23:32:00

标签: python pandas

我从.gov网站获得了以下数据:

c.to_csv('nick.csv', index = False, chunksize = 1000000)

行数是4942096。我想将所有这些文件放入多个csv文件中。

我知道如何获得第一百万:

{{1}}

我如何得到其余的东西?

1 个答案:

答案 0 :(得分:4)

您可以遍历文件并将其保存为:

filename = io.StringIO(s.decode('utf-8'))
# ^ not tested this but assuming it would work for readability sake. 

chunk_size = 10 ** 6
for chunk in pd.read_csv(filename, chunksize=chunk_size):
    chunk.to_csv('nick.csv.gz',compression='gzip',index=False)

您需要添加某种命名约定,否则将覆盖文件。我还添加了gzip压缩功能,可显着加快写入速度。

我会亲自添加一个计数器

chunk_size = 10 ** 6
counter = 0
for chunk in pd.read_csv(filename, chunksize=chunk_size):
    counter = counter + 1
    chunk.to_csv(f'nick_{str(counter)}.csv.gz',compression='gzip',index=False)