0

我有两个 csv 文件 result.csv 和 sample.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

我有一个 python 脚本,如果 result.csv 中的行与 sample.csv 中的行中的第一个单词匹配,它将比较两个文件,然后在 sample.csv 中的每一行附加 1 否则附加 0

它应该看起来像 M11435TDS144,STB#1,Router#1,1 和 M11543TH4258,STB#4,Router#1,0 因为在 result.csv 中找不到 M11543TH4258

脚本.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

每次我运行脚本时,都会将 1 和 0 添加到新列 sample.csv 中。每次我运行脚本时有什么办法,我可以替换附加的列而不是增加列。

4

1 回答 1

0

您写入sample.csv,然后将其用作输入文件,并带有附加列。这就是为什么在这个文件中有越来越多的 1 和 0。问候, 格热戈日

于 2016-09-28T15:09:39.997 回答