概要
Pythonでファイルのopenなどに使うwith文
は、カンマで区切って複数のファイルを一度に開くことができます。(python3.1以降)
その場合、複数の with 文がネストされたかのように扱われます。
複数csvファイルのマージなどに役立ちます。
サンプルコード(python3.6.9で確認)
2021-01-22: @shiracamus さんのコメントを反映しました。ありがとうございます。
import csv
with open("input1.csv", mode='r') as fi1, \
open("input2.csv", mode='r') as fi2, \
open("output.csv", mode='w') as fo:
reader1 = csv.reader(fi1)
reader2 = csv.reader(fi2)
writer = csv.writer(fo)
for l1, l2 in zip(reader1, reader2):
writer.writerow(l1 + l2)
入力ファイル
input1.csv
a,b,c
1,2,3
input2.csv
d,e,f
4,5,6
出力結果
output.csv
a,b,c,d,e,f
1,2,3,4,5,6