Ich habe zwei csv-Dateien result.csv und sample.csv.Python umschreiben statt anhängen
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
Ich habe einen Python-Skript, das sowohl die Dateien vergleichen, wenn Zeile in Result.csv mit dem ersten Wort in der Zeile paßt in sample.csv, dann anhängen 1 sonst anfügen 0 an jeder Zeile in sample.csv
Es sollte wie M11435TDS144, STB # 1, Router # 1,1 und M11543TH4258, STB # 4, Router # 1,0 seit M11543TH4258 aussehen ist nicht fo und in Result.csv
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)
Beispielausgabe (sample.csv), wenn ich das Skript zweimal ausführen
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
Jedes Mal, wenn ich das Skript ausführen, 1 und 0 werden in einer neuen Spalte sample.csv angehängt. Gibt es eine Möglichkeit, jedes Mal, wenn ich das Skript ausführe, kann ich die angehängte Spalte anstelle von Spalten zu ersetzen.
Warum das Leben schwer machen? Ändern Sie einfach den Namen der Ausgabedatei, z. B. sample_result.csv. Dann funktioniert dein Code. Alles, was Sie später tun müssen, ist die neue Datei anstatt der sample.csv zu verarbeiten. –