我创建了这个Python脚本,它可以在两个csv文件之间进行右连接。简而言之,它创建了一个新的csv,其中包含:
1.两个文件中都存在的行
1.只存在于第二个csv中的行(应该是最新的一个)
然后,它应该添加一个名为“present”的新列,在第一种情况下,该列的值应为0,在第二种情况下,该列的值应为1
import csv
def compare_csv(csv1, csv2, output_file):
rows_csv1 = []
rows_csv2 = []
result_rows = []
unique_rows = []
common_rows = []
# Lettura del file CSV meno recente
with open(csv1, 'r') as file1:
csv_reader1 = csv.reader(file1)
for row in csv_reader1:
rows_csv1.append(row )
# Lettura del file CSV più recente
with open(csv2, 'r') as file2:
csv_reader2 = csv.reader(file2)
for row in csv_reader2:
rows_csv2.append(row)
# Confronto delle righe
for row2 in rows_csv2:
if row2 not in rows_csv1:
result_rows.append(row2 + ["1"])
elif row2 in rows_csv2 and row2 in rows_csv1:
result_rows.append(row2 + ["0"])
else:
print(f"la riga {row} non è presente")
# Scrittura delle righe nel file di output
with open(output_file, 'w', newline='') as result_file:
csv_writer = csv.writer(result_file)
csv_writer.writerows(result_rows)
if __name__ == "__main__":
csv1 = input("Inserisci il percorso del file CSV meno recente: ")
csv2 = input("Inserisci il percorso del file CSV più recente: ")
output_file = "result.csv"
compare_csv(csv1, csv2, output_file)
print("Operazione completata. Il file 'result.csv' è stato creato.")
字符串
这里的问题是,脚本添加了名称为“0.1”的新列,并添加了“0.1”作为该列的值
有什么帮助吗?
1条答案
按热度按时间3hvapo4f1#
通过你的代码,它显示你只是创建列而不是行
您可以通过以下方式创建新行
字符串