Python重写而不是附加

2024-04-19 01:54:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个csv文件结果.csv以及示例.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脚本,它将比较两个文件,如果行中结果.csv与中行中的第一个单词匹配示例.csv,然后追加1,否则在中的每行追加0示例.csv你知道吗

它应该看起来像M11435TDS144,STB#1,Router#1,1和M11543TH4258,STB#4,Router#1,0,因为在中找不到M11543TH4258结果.csv你知道吗

你知道吗脚本.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)

样本输出(示例.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都会附加到新列中示例.csv. 是否有任何方法每次运行脚本时,都可以替换附加的列而不是增加列。你知道吗


Tags: csvsample脚本示例withresultopenlist