Как совместить таблицы
Нужно для сайта объединить две таблицы csv с данными
Первая основная. В ней больше строк и столбцов
id;links;some;some1;some2;some3
1;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-169.png;0;attachment;image/png;0
2;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-214.png;0;attachment;image/png;0
3;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-269.png;0;attachment;image/png;0
4;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-271.jpg;0;attachment;image/jpeg;0
5;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-374.png;0;attachment;image/png;0
6;link;0;attachment;image/png;0
7;link;0;attachment;image/png;0
8;link;0;attachment;image/png;0
9;link;0;attachment;image/jpeg;0
10;link;0;attachment;image/png;0
Вторая содержит имена(первый столбец), которые мне и нужно получить в первую
name;links;eshehu
Alcatel 3c;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-214.png;site2/Alcatel 3c-1
Alcatel 3c;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-169.png;site2/Alcatel 3c-2
Alcatel 3c;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-271.jpg;site2/Alcatel 3c-3
Alcatel 3c;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-269.png;site2/Alcatel 3c-4
Alcatel 3c;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-3C-374.png;site2/Alcatel 3c-5
Alcatel 4c;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-4C-269.png;site2/Alcatel 4c-1
Alcatel 4c;https://site.com/wp-content/uploads/2020/phones_puctures/Alcatel-4C-374.png;site2/Alcatel 4c-2
Единственная возможность связать их через столбец links, который совпадает для многих строк.
То есть на выходе мне нужно получить первую таблицу + столбец name по соответствию ссылок.
Я пробовал делать join и merge в pandas, но результатом всегда возвращается первая таблица без изменений.
Вроде такого:
photo_full.merge(name_table, left_on='links', right_on='links')
Ответы (1 шт):
Автор решения: MarianD
→ Ссылка
Метод .merge() не изменяет таблицу. Вы не сохранили результат. Сделайте это:
photo_full = photo_full.merge(name_table, left_on='links', right_on='links')
Тест:
print(photo_full)
id links some some1 \ 0 1 https://site.com/wp-content/uploads/2020/phone... 0 attachment 1 2 https://site.com/wp-content/uploads/2020/phone... 0 attachment 2 3 https://site.com/wp-content/uploads/2020/phone... 0 attachment 3 4 https://site.com/wp-content/uploads/2020/phone... 0 attachment 4 5 https://site.com/wp-content/uploads/2020/phone... 0 attachment some2 some3 name eshehu 0 image/png 0 Alcatel 3c site2/Alcatel 3c-2 1 image/png 0 Alcatel 3c site2/Alcatel 3c-1 2 image/png 0 Alcatel 3c site2/Alcatel 3c-4 3 image/jpeg 0 Alcatel 3c site2/Alcatel 3c-3 4 image/png 0 Alcatel 3c site2/Alcatel 3c-5