result.csv と sample.csv の 2 つの csv ファイルがあります。
結果.csv
M11251TH1230
M11543TH4292
M11435TDS144
サンプル.csv
M11435TDS144,STB#1,Router#1
M11543TH4292,STB#2,Router#1
M11509TD9937,STB#3,Router#1
M11543TH4258,STB#4,Router#1
result.csv の行が sample.csv の行の最初の単語と一致する場合に両方のファイルを比較し、sample.csv のすべての行に 1 を追加するか、0 を追加する python スクリプトがあります。
M11543TH4258 が result.csv に見つからないため、M11435TDS144,STB#1,Router#1,1 および M11543TH4258,STB#4,Router#1,0 のようになります。
script.py
import csv
with open('result.csv', 'rb') as f:
reader = csv.reader(f)
result_list = []
for row in reader:
result_list.extend(row)
with open('sample.csv', 'rb') as f:
reader = csv.reader(f)
sample_list = []
for row in reader:
if row[0] in result_list:
sample_list.append(row + [1])
else:
sample_list.append(row + [0])
with open('sample.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerows(sample_list)
スクリプトを 2 回実行した場合の出力例 (sample.csv)
M11435TDS144,STB#1,Router#1,1,1
M11543TH4292,STB#2,Router#1,1,1
M11509TD9937,STB#3,Router#1,0,0
M11543TH4258,STB#4,Router#1,0,0
スクリプトを実行するたびに、新しい列 sample.csv に 1 と 0 が追加されます。スクリプトを実行するたびに、列を増やす代わりに、追加された列を置き換える方法はありますか?