Python根据Chun中的列名将数据导出到CSV

2024-04-19 23:59:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python处理大约500万行的数据。我需要根据列中的特定值将这些数据导出到csv文件中。我还要确保没有文件的行数超过100万行。如果python文件的剩余行数超过100万,则python将创建另一个超过100万行的文件。在

我尝试了以下代码来根据列'col'中的列值导出文件,但是我不确定如何将每个文件限制在一百万行以内。在

for u in df['col'].unique():
    file_name = 'output/{0}.csv'.format(u) 
    df[df['col'] == u].to_csv(file_name,  encoding = 'utf-8', index = 
    False)

示例:假设我有以下数据,当city='new'york'时,我们有200万行,当city='miami'时,我们有100万行。在

^{2}$

在本例中,我总共需要三个csv文件:new_york0.csv、new_york1.csv和'迈阿密.csv'. '只有当city='new'york'且每个文件有100万行时,new_york0.csv'和'new'u york1.csv'才应包含数据迈阿密.csv'包含city='miami'时的数据


Tags: 文件csv数据代码namecitydfnew
1条回答
网友
1楼 · 发布于 2024-04-19 23:59:22

这样的方法应该有效:

maxrow = 1000000
for i in range(0, len(df), maxrow):
    df.iloc[i:i+maxrow].to_csv(f"test{i//maxrow}.csv") #using formatted string literals.

这适用于完整的数据帧df,但很容易将其扩展到一个选择。只需在之前保存所选数据帧的副本,然后在所选内容上使用上面的代码。在

^{pr2}$

相关问题 更多 >