Как извлечь данные из файла CSV и импортировать в словарь в Python?
Я новичок в Python, новый разработчик, только что начал стажировку. Итак, у меня есть файл csv с данными, настроенными таким образом.
Категория события, Метка события, Всего событий, Уникальных событий, Значение события, Средн. Ценность
Из каждой строки файла я хочу извлечь метки портов (ниже) в словаре, а также добавить общие и уникальные события. Всего и уникальных событий я должен суммировать только порты с одинаковыми метками (не дублируя). Мои данные выглядят так: «Поиск, Санторин (JTR) — Парос (PAS) — Санторин (JTR), «2,199», «1,584», 0,0.00». Я хочу, чтобы мой словарь выглядел так:
data_file = 'Analytics.csv' ports_dict = {# "ATH-HER" : [10000, 5000], # "ATH-JTR" : [20000, 3500], # "HER-JTR" : [100, 500] }
data = 'Analytics.csv'
#row= 'Search,Santorin (JTR) - Paros (PAS) - Santorin (JTR),"2,199","1,584",0,0.00'
def extract_counts(data):
ports = []
for i in data.split('"')[1:]:
ports.append(i.split('"')[0])
return ports
Пример из моего кода: когда я работаю, строка работает нормально, когда я использую «данные», она возвращает мне пустую строку. Кто-нибудь может мне с этим помочь ?
Extract_counts(данные)Out[13]: []
Что мне нужно сделать, чтобы запустить это для всего csv Спасибо за вашу помощь!
1 ответ
Прежде всего, «данные» — это просто строковая переменная. В вашем цикле вы перебираете каждый символ, а не читаете файл. Использование разделения на один символ с '"' приводит к пустой строке.
Чтобы начать свое путешествие с чтения файлов CSV в Python, я рекомендую: