gpt4 book ai didi

python - 使用多个工作表创建多个 Excel 文件

转载 作者:太空宇宙 更新时间:2023-11-04 08:40:50 25 4
gpt4 key购买 nike

我有一个表格中的主 csv 文件

col1, col2, col3, col4...
a, x, y, z
a, x, y, z
b, x, y, z
b, x, y, z
.. .. .. ..

我想读入这个文件。创建一个新的 Excel 文件,所有值都在 col1==a 和另一个文件,所有值在 col1==b .所以 OutputFilea 看起来像:

col1, col2, col3, col4...
a, x, y, z
a, x, y, z

OutputFileb看起来像

col1, col2, col3, col4...
b, x, y, z
b, x, y, z

我的问题是,我应该逐行使用 csv.reader() 并使用条件来确定应该附加哪个文件,还是应该附加一个带有行的字符串,然后将每个文件写入结束。或者是否有一个模块可以优化这样的流程?

最佳答案

由于您要处理大型数据集,因此最好不要同时在内存中保存太多数据。您可以维护一个由行前缀键入的打开文件的字典,并确保使用 contextlib.ExitStack 正确关闭文件。 .这样做将允许您在处理输入电子表格时延迟打开新文件:

from contextlib import ExitStack

output_files = {}
with open('master.csv', 'r') as master, ExitStack() as output_stack:
for line in master:
prefix = line.split(',', 1)[0]
if prefix not in output_files:
output_name = 'output' + prefix + '.csv'
output = output_stack.enter_context(open(output_name, 'w'))
output_files[prefix] = output
else:
output = output_files[prefix]
print(line, file=output)

鉴于您希望按原样将行复制到输出文件中,我选择不使用 csv模块。如果你想应用更复杂的处理,你当然应该考虑添加它。

关于python - 使用多个工作表创建多个 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45042064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com