Я пытаюсь извлечь значения из 2 CSV-файлов с помощью Python. Из 1-го файла я получаю ключевое слово, которое будет искать во 2-м файле. После того, как ключевое слово найдено, я пытаюсь собрать значения из другого столбца и поместить их в массив.
Вот как выглядит первый файл (из которого я получаю ключевое слово):
Action;ItemID;Title;StartPrice;CustomLabel
Revise;13;some title;990;keyword1
Revise;12;some title;1990;keyword2
Revise;14;some title;2990;keyword3
Вот как выглядит второй файл .csv:
Keyword;Item_Title;Item_Price;Item_Condition;Item_Link
keyword1;title1;59.0;used;link1
keyword1;title2;130.0;used;link2
keyword1;title3;165.0;used;link3
keyword2;title1a;600.0;used;link1a
keyword2;title2a;800.0;used;link2a
keyword2;title3a;899.99;used;link3a
keyword2;title4a;1895.0;new;link4a
Я пытаюсь получить значение CustomLabel
и найти его в столбце Keyword
во 2-м файле. Цель состоит в том, чтобы собрать значения Item_Price
для каждого значения ключевого слова в массив.
Пока я пробовал это, но это не работает, так как он собирает все Item_Price
для каждого ключевого слова в один массив.
Это код вопроса:
import csv
prices=[]
with open("1.csv",'r') as file:
file_reader=csv.DictReader(file,delimiter=';')
for row in file_reader:
item=row['CustomLabel']
with open("1.csv",'r',encoding='utf-8') as file1:
file_reader1=csv.DictReader(file1,delimiter=';')
for row1 in file_reader1:
if item in row1['Keyword']:
print(row1['Keyword']+" , "+row1['Item_Price'])
price=row1['Item_Price']
prices.append(price)
print(prices)
И, как вы сами можете понять, я получаю массив со всеми ценами для всех ключевых слов:
['59.0', '130.0', '165.0', '600.0', '800.0', '899.99', '1895.0']
Мой вопрос: как получить массив для каждого ключевого слова в файле?
Мой подход работает вообще? Или мне нужно сделать что-то по-другому?
Любые предложения о том, как этого добиться, приветствуются. Я использую python 3.6.5 и при необходимости могу установить любые пакеты.