Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 15

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

21.09.2016, 16:07. Показов 3615. Ответов 6
Метки csv (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, я тут чутка джуниор, поэтому хотелось бы узнать как крутые дяди бы сделали эту задачу.

Кликните здесь для просмотра всего текста


Клиентская часть уже написана, интересует конкретно подсчет уникальных значений. Получается, нужно сделать словарь для каждого, в каждом элементе словаря будет лежать пустой список. На каждой итерации цикла нужно проверять элемент на наличия в списке, если элемент не имеется, то он туда добавляется. Потом просто элементы каждого списка и выдается результат. Проблема в том, что способ не кошерный и сожрет много памяти.

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

Вам доступен csv файл data.csv, содержащий информацию в csv формате.Напишите функцию read_csv для чтения данных из файла
Вам доступен CSV-файл data.csv, содержащий информацию в csv формате. Напишите функцию read_csv для чтения данных из этого файла. Она должна...

Как записать в один столбец из одного файла csv в csv
Всем привет Работает, но не получается, как нужно def take_first_n_rows_to_file(): with...

Парсинг CSV Файла
Помогите пожалуйста написать код парсера для csv файла на objective-C csv файл состоит из 6 столбцов(Цитата Перевод Источник ОЦЕНКА...

6
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
21.09.2016, 16:32
Цитата Сообщение от MrAstartes Посмотреть сообщение
интересует конкретно подсчет уникальных значений
Засовываешь список значений в множество и там останутся только уникальные.
0
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 15
21.09.2016, 16:36  [ТС]
Проблема в том, что объект reader имеет следующий виде: {title: 'row1_value', title2: 'row1_value'}, {title: 'row2_value, title2: ''row2_value'} и т.д.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
21.09.2016, 16:43
MrAstartes, уникальные значения нужно искать в строке или по всему файлу?
0
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 15
21.09.2016, 16:48  [ТС]
В каждом столбце файла.

Code
1
2
3
4
5
6
7
8
title, title2
 
value1, value2
value3,
value5, value6
      , value8
value3, value8
      , value8
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
21.09.2016, 20:13
Ну не вижу ни каких проблем. Заводишь список содержащий вложенные множества читает по строкам файл и скидываешь данные из каждого столбца во множество с нужным индексом и все
0
Эксперт Python
 Аватар для dondublon
4648 / 2068 / 366
Регистрация: 17.03.2012
Сообщений: 10,168
Записей в блоге: 6
22.09.2016, 09:40
Цитата Сообщение от MrAstartes Посмотреть сообщение
Вот, кстати, кусок кода для нахождения заполненности. Мне он тоже не нравится. Хотелось бы узнать как это можно было бы сделать лучше.
1. Никаких глобальных переменных вообще.

Я, как крутой дядя, использовал бы numpy.loadtxt. Ну, или, на худой конец, pandas.
Они позволяют удобно обращаться к колонкам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.09.2016, 09:40
Помогаю со студенческими работами здесь

Парсинг CSV-файла
Всем привет! Есть Excel файл, собственно обычный прайс. Вручную (с удалением логотипа, контактов и прочей не-табличной информации)...

Парсинг CSV файла
Здравствуйте! Помогите пожалуйста, стоит такая задача, нужно сделать парсинг CSV файла, при этом имена столбцов начинаются с 8 строки,...

Парсинг данных из CSV файла
День добрый. Нужно скачать csv-файл с веба и занести его в базу данных. Тут я создаю датабазу: class DBHelper extends...

Парсинг и сохранение csv файла
есть вот такая реализация сохранения в фаил csv но я бы хотел узнать как можно реализовать такую штуку что бы во время внесения данных...

Очистка csv файла от мусора - Парсинг
Ребят, нужна помощь, есть csv файл с почти 1000 строк параметров с текстами, больше половины текстов в нём бездумно раньше вставлялись в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru