У меня есть 2 .csv-файла, которые я хочу сравнить и добавить. Предположим, что в файле столбца 1 есть числа 1. У меня есть аналогичный набор чисел в файле столбца 1 2, но в другом порядке и не все. Я хочу найти в файле 1 столбец 1, чтобы узнать, есть ли совпадение с номером в файле столбца 1. Если есть совпадение, я хочу добавить информацию из файла 2 в файл 1, добавив столбцы в согласованное число. Я также избавляюсь от любых пустых строк во входном файле.Сравнение и добавление файлов .csv в Python
Например:
File 1
Number Name EmailAddress
1 Jenny [email protected]
2 Josh [email protected]
3 Tony [email protected]
4 Jeff [email protected]
File2
Number Address
4 123 Walnut St
1 17 Yerlington Wy
7 420 St B
Output File
Number Name EmailAddress Address
4 Jeff [email protected] 123 Walnut St
1 Jenny [email protected] 17 Yerlington Wy
7 NO ENTRY
Вот код, который я до сих пор, что, кажется, делает все, но добавить правильную информацию.
import csv
f1 = file('inFile.csv', 'rb')
f2 = file('inFile2', 'rb')
f3 = file('outFile.csv', 'wb')
c1 = csv.reader(f1)
c2 = csv.reader(f2)
c3 = csv.writer(f3)
masterlist = [row for row in c2]
for hosts_row in c1:
row = 1
found = False
for master_row in masterlist:
results_row = hosts_row
end_row = masterlist
if any(hosts_row):
if hosts_row[0] == master_row[0]:
results_row.append(end_row[row][1])
found = True
break
if not found:
results_row.append('NO ENTRY')
if any(hosts_row):
c3.writerow(results_row)
f1.close()
f2.close()
f3.close()
- это столбцы, разделенные пробелом или вкладкой? – Prasath