我是一个新手,试图在 python 中执行此操作,有一个简单的方法吗?
我有两个 CSV 文件
这是第一个 CSV 文件
filename,file_serial_number
file1, 1F
file2, 2E
file3, 3C
这是第二个 CSV 文件
filename,file_serial_number
file1, 1A
file2, 2C
file3, 3E
这是我的代码:
import csv
csv_file1 = r'csv_file.csv'
csv_file2 = r'csv_file(1).csv'
with open(csv_file1, 'r') as file1_csv, open(csv_file2, 'r') as file2_csv:
fileone = csv.DictReader(file1_csv)
filetwo = csv.DictReader(file2_csv)
file1_serial_list = []
for row_f1 in fileone:
f1_filename = row_f1['filename']
f1_file_serial = row_f1['file_serial_number']
file_serial_list.append(f1_file_serial)
file2_serial_list = []
for row_f2 in filetwo:
f2_filename = row_f2['filename']
f2_file_serial = row_f2['file_serial_number']
file_serial_list.append(f2_file_serial)
for serial1, serial2 in zip(file1_serial_list, file2_serial_list):
if serial1 > serial2:
# This should output the filenames with greater serial on csv_file1.
print(f1_filename)
# Output should be:
file1
file2
最佳答案
您可以直接zip
DictReader
。
for row_f1, row_f2 in zip(fileone, filetwo):
print(row_f1['filename']
if row_f1['file_serial_number'] > row_f2['file_serial_number']
else row_f2['filename'])
关于python - 我有两个 csv 文件,需要使用 for 循环进行相互比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69825611/