Как сравнить два файла .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))
)
→ Ссылка