gpt4 book ai didi

python - 按列组合 CSV 文件

转载 作者:行者123 更新时间:2023-12-04 18:37:00 24 4
gpt4 key购买 nike

假设我有两个名为 A 的 CSV 文件和 BPython .
Ahead好像:

 headerNameA1,headerNameA2
1.12412424,1
1,1
1,1
1,1
Bhead好像:
 headerNameB1,headerNameB2
1,1
1,1
1,1
1,1

我的目标是将两者合并成一个文件 C .但是,我的目标也是 不要将它们加载到 RAM 因为它们是大文件。结果 C将会:
 headerNameA1,headerNameA2,headerNameB1,headerNameB2
1.12412424,1,1,1
1,1,1,1
1,1,1,1
1,1,1,1

如果解决方案可以组合多个 CSV 文件,则可以加分。但是,如果这在解决方案中是不可能的,那很好,因为我总是可以将其他任何东西与 C 结合起来。制作 D , 然后将任何其他内容与 D制作 E ,无限。

解决方案可以是 Python基于或 terminal基于 os.systemPython .

最佳答案

您可以一次使用两个文件中的一行,将它们连接在一起并写入您的输出文件。 csv模块使事情变得更清洁。

import csv
with open('A','rb') as f1, open('B','rb') as f2, open('out.csv','wb') as w:
writer = csv.writer(w)
r1,r2 = csv.reader(f1),csv.reader(f2)
while True:
try:
writer.writerow(next(r1)+next(r2))
except StopIteration:
break

正如@RogerPate 指出的那样,您可以使用 itertools.izip 使这个更光滑。 (只要 zip 如果你在 python3 中)
from itertools import izip
import csv
with open('A','rb') as f1, open('B','rb') as f2, open('out.csv','wb') as w:
writer = csv.writer(w)
for r1,r2 in izip(csv.reader(f1),csv.reader(f2)):
writer.writerow(r1+r2)

关于python - 按列组合 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19945296/

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