rmfalx
@rmfalx

Как сделать мердж 2х csv файлов в Python?

Есть ли у кого опыт как из 2 или 3 разных csv файлов сделать один. Суть такая, что в файлах во второй колонке есть поле id. Именно по этому полю нужно сделать првоерку, встречаются ли в других файлах такие же айдишники и если да, то выцепить эти строки со всеми остальными колонками.

Например первый файл csv

A B id D F
0 1 2 0 3 1
1 1 2 1 3 1
2 3 3 2 3 1

Второй файл csv

A B id D F
0 3 3 2 3 1
1 1 2 3 3 1
2 3 3 4 3 1

Получается, что в первом файле строка 2 с id = 2, такая же как во втором файле строка 0 с id = 2.

Мне нужно вытащить строки с одинаковым id в отдельный csv файл и получить значение из всех остальных колонок

A B id D F
0 3 3 2 3 1

Я новичок в питоне да и вообще в яп. Взял для этого пандас.

import sys
import pandas as pd
from pandas import read_csv
from pandas import merge

df1 = read_csv(sys.argv[1], usecols=[1], header=None)
df2 = read_csv(sys.argv[2], usecols=[1], header=None)


Но пока что дальше присвоения переменных к файлам я не ушел.

Интерфейс будет такой

python3 script.py file1.csv file2.csv

Может есть знающие люди, кто сможет посоветовать что-то
  • Вопрос задан
  • 693 просмотра
Пригласить эксперта
Ответы на вопрос 1
@alex-t
Прогр. в команде rco.ru
0. Зачем pandas, в библиотеке питона есть модуль csv.
1. Оба файла читаем в словари, в ключ id, остальное списком в значение.
2. Пересекаем множество ключей двух словарей.
3. и по этому пересечению строим выборку, объединяя списки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы