Я пытаюсь найти все строки в определенном столбце в файле csv, чтобы увидеть, содержат ли они строку в другом файле csv. Если они содержат эту строку, я хочу записать соответствующее значение в другой конкретный столбец.Запись значения в столбце csv на основе другого значения в другом csv
Например file1:
Search Value,Location
UK,United Kingdom
United Kingdom,United Kingdom
United States,United States
Hong Kong,Hong Kong
Florida,"Florida, United States"
и file2:
Name,Default,Geo Location
DRE UK,,
Production United States,,
Development Hong Kong,,
United Kingdom Sales,,
Florida Marketing,,
Я хочу, чтобы найти строки, в которых имя из file2 содержит строку из Полезность поиска в file1 затем записать соответствующее значение из Местоположение в файле1 для Geo Location в файле2. Таким образом, результат таков:
Name,Default,Geo Location
DRE UK,,United Kingdom
Production United States,,United States
Development Hong Kong,,Hong Kong
United Kingdom Sales,,United Kingdom
Florida Marketing,,"Florida, United States"
Я искал ответ, и я наткнулся на loop through rows of one csv file to find corresponding data in another. Я основал код, основанный на этом, но я не знаю, правильно ли это, и я застрял.
import csv
file1reader = csv.reader(open('file1.csv','rb'))
file2reader = csv.reader(open('file2.csv','rb'))
writer=csv.writer(open('file3.csv','wb'))
header1 = file1reader.next() #header
header2 = file2reader.next() #header
for Search Value, Location in file1reader:
for Name, Default, Geo Location in file2reader:
if Search Value in Name: # found it
Представленные данные являются примером того, что я хочу сделать. Фактические файлы будут довольно большими, поэтому имейте это в виду.
Любая помощь приветствуется.
EDIT
Если бы я хотел включить оригинальные строки из file2.csv в конечной продукции (file3.csv), что не соответствует условию, а, как бы я это сделать?
Пример если file2 был, как это вместо того, чтобы и я хотел, не являющиеся согласующие линии включены также:
Name,Default,Geo Location
DRE UK,,
Production United States,,
Development Hong Kong,,
United Kingdom Sales,,
Florida Marketing,,
Stuff,,Somewhere
More Stuff,,
Отсортированы ли ваши файлы? Ответ, который вы основываете на своем коде, предполагает, что оба файла сортируются одним и тем же ключом. Это необходимо для того, чтобы подход был эффективным! – llb