我有两个csv文件result.csv和sample.csv。
result.csv
M11251TH1230
M11543TH4292
M11435TDS144
sample.csv
M11435TDS144,STB#1,Router#1
M11543TH4292,STB#2,Router#1
M11509TD9937,STB#3,Router#1
M11543TH4258,STB#4,Router#1
我有一个python脚本,如果result.csv中的行与sample.csv中的第一个字匹配,则比较两个文件,然后追加1,否则在sample.csv中的每一行追加0
它应该看起来像M11435TDS144,STB#1,路由器#1,1和M11543TH4258,STB#4,路由器#1,0,因为在result.csv中找不到M11543TH4258
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)
示例输出(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。有没有办法每次运行脚本时,我都可以替换附加的列而不是增加列。
答案 0 :(得分:0)
您写入sample.csv
,然后将其用作输入文件,附加列。这就是为什么你在这个文件中有越来越多的1和0。
此致,Grzegorz