Как сравнить два файла .csv и записать похожие значения в третий файл?
Есть 2 CSV файла: visit_log.csv и dict.csv. В первом файле колонки user_id, source, во втором user_id, category.
Необходимо найти общее значение user_id в обоих файлах и записать в третий файл funnel.csv с указанием категории.
Через мой код происходит перезапись, но мне кажется, что funnel.csv дублирует dict.csv:
import csv
with open('funnel.csv', 'w') as response_file:
with open('visit_log.csv', 'r') as f:
with open('dict.csv', 'r') as s:
for line in f.readlines():
for line in s.readlines():
if "user_id" == "user_id":
response_file.write(line)
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
я бы решал эту задачу используя модуль Pandas:
import pandas as pd
fn1 = r"/path/to/visit_log.csv"
fn2 = r"/path/to/dict.csv"
output_fn = r"/path/to/funnel.csv"
df1 = pd.read_csv(fn1)
df2 = pd.read_csv(fn2)
res = df1.merge(df2)
res.to_csv(output_fn, index=False)
вариант для извращенцев любителей однострочников:
(pd
.read_csv(fn1)
.merge(pd.read_csv(fn2))
.to_csv(output_fn, index=False))
)