【发布时间】:2019-06-11 22:51:59
【问题描述】:
我正在用 Python 处理一些大约 500 万行的数据。我需要根据列中的特定值将这些数据导出到 csv 文件中。我还想确保没有文件的行数超过 100 万行。如果一个文件的行数超过 100 万行,python 将创建另一个 csv 文件来存储其余数据。
我尝试使用以下代码根据“col”列中的列值导出文件,但我不确定如何将每个文件限制为 100 万行。
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 万行。
city = ['new_york', 'new_york','new_york','miami','miami']
population = ['8.5','3.9','0.25','0.45','1.4','0.87']
df = pd.DataFrame({'city':city,'population':population})
在这种情况下,我总共需要三个 csv 文件:new_york0.csv、new_york1.csv 和 'miami.csv'。 'new_york0.csv' 和 'new_york1.csv' 应该仅在 city = 'new_york' 并且每个文件有 100 万行时才包含数据。 'miami.csv' 包含 city = 'miami' 时的数据
【问题讨论】:
-
提前致谢!
标签: python pandas export-to-csv