Парсинг CSV файла - Python

Узнай цену своей работы

Формулировка задачи:

Привет, я тут чутка джуниор, поэтому хотелось бы узнать как крутые дяди бы сделали эту задачу.
Спойлер
Клиентская часть уже написана, интересует конкретно подсчет уникальных значений. Получается, нужно сделать словарь для каждого, в каждом элементе словаря будет лежать пустой список. На каждой итерации цикла нужно проверять элемент на наличия в списке, если элемент не имеется, то он туда добавляется. Потом просто элементы каждого списка и выдается результат. Проблема в том, что способ не кошерный и сожрет много памяти. Вот, кстати, кусок кода для нахождения заполненности. Мне он тоже не нравится. Хотелось бы узнать как это можно было бы сделать лучше.
Листинг программы
  1. import csv
  2. length = 0
  3. counters = {}
  4.  
  5. def processing(rows):
  6. for row in rows:
  7. global length
  8. length += 1
  9. yield dict(map(lambda argv: func(*argv), row.items()))
  10.  
  11. def func(name, value):
  12. if value:
  13. counters[name] = counters.get(name, 0) + 1
  14. return name, value
  15.  
  16. with open('data.csv', 'rt') as f:
  17. reader = csv.DictReader(f)
  18. print(list(processing(reader)))
  19. for name, counter in counters.items():
  20. print('{}: {}%'.format(name, counter * 100 / length))

Решение задачи: «Парсинг CSV файла»

textual
Листинг программы
  1. title, title2
  2.  
  3. value1, value2
  4. value3,
  5. value5, value6
  6. , value8
  7. value3, value8
  8. , value8

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут