Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/40: Рейтинг темы: голосов - 40, средняя оценка - 4.80
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4

Прочитать CSV в массив numpy

12.12.2020, 00:12. Показов 8052. Ответов 9

Студворк — интернет-сервис помощи студентам
Добрый день!

Подскажите как корректно загрузить файл CSV с разнотипными данными в массив NumPy

Фрагмент файла CSV
Code
1
2
3
4
5
6
"РегионФ";"F5";"F12";"F27";"F36"
"Белгородская обл.";27.1.2019 0:00:00;402,00;0,00;250000,00
"Белгородская обл.";1.1.2019 0:00:00;283,00;0,00;20000,00
"Белгородская обл.";7.1.2019 0:00:00;402,00;0,00;400000,00
"Белгородская обл.";9.1.2019 0:00:00;88,00;0,00;0,00
"Белгородская обл.";18.1.2019 0:00:00;282,00;1,00;20000,00
Первая строка содержит названия колонок.
В первой колонке названия регионов в текстовом формате, в следующей колонке (F5) записана дата и время, в остальных колонках вещественные числа.
Десятичный разделитель – запятая.
Разделитель колонок – точка с запятой.

Пробую читать так:
Python
1
a = np.genfromtxt('C:/Users/Arlen/Documents/Fire.csv', dtype= None, delimiter=";", skip_header=1)
Не получается

Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.12.2020, 00:12
Ответы с готовыми решениями:

Работа с csv файлом через numpy
import numpy as np import csv def load_data(filename=None): if filename == "./Social_Network_Ads.csv": header = ...

Прочитать CSV на windows mobile 6
Добрый день. Имеется терминал Motorola ES400 ( windows mobile 6). Пытаюсь прочитать CSV и отобразить данные в datagrid. Делаю я это так: ...

Прочитать словарь из файла csv
Здравствуйте форумчане. Помогите разобраться: есть файл со списком аккаунтов в виде login;password (";" - разделитель) f1...

9
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.12.2020, 00:22
Цитата Сообщение от VistaSV30 Посмотреть сообщение
Не получается
Что именно? Результат покажи - мы не экстрасенсы. Офиц. доку читал? Там кучу параметров можно настроить.

Добавлено через 3 минуты
У меня все получилось:
Python
1
2
3
4
5
6
7
8
9
10
11
12
>>> np.genfromtxt(StringIO(file), dtype= None, delimiter=";", skip_header=1, encoding="utf-8")
array([['"Белгородская обл."', '27.1.2019 0:00:00', '402,00', '0,00',
        '250000,00'],
       ['"Белгородская обл."', '1.1.2019 0:00:00', '283,00', '0,00',
        '20000,00'],
       ['"Белгородская обл."', '7.1.2019 0:00:00', '402,00', '0,00',
        '400000,00'],
       ['"Белгородская обл."', '9.1.2019 0:00:00', '88,00', '0,00',
        '0,00'],
       ['"Белгородская обл."', '18.1.2019 0:00:00', '282,00', '1,00',
        '20000,00']], dtype='<U19')
>>>
1
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
12.12.2020, 00:31  [ТС]
Данные все-таки прочитались:
Python
1
a = np.genfromtxt('C:/Users/Arlen/Documents/Fire.csv', dtype= None, delimiter=";", skip_header=1)
Но выдает предупреждение:
VisibleDeprecationWarning: Reading unicode strings without specifying the encoding argument is deprecated. Set the encoding, use None for the system default.

Я так понимаю, надо кодировку указать. Данные получены из базы MS Access. Попробую UTF-8

Добавлено через 1 минуту
Garry Galler, Спасибо!
Пока писал, Вы уже дали ответ.
Спасибо еще раз!

Добавлено через 6 минут
С параметром: , encoding="utf-8"

Не читает и выдает:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 1: invalid continuation byte

Без encoding="utf-8" читает, но выдает:
VisibleDeprecationWarning: Reading unicode strings without specifying the encoding argument is deprecated. Set the encoding, use None for the system default.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.12.2020, 00:37
Другую кодировку нужно указать. Кодировку файла. В utf-8 это же тока на линуксе все файлы. На винде какая-нить windows-1251.
0
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
12.12.2020, 01:02  [ТС]
Все данные прочитались и записаны в текстовом формате.
Python
1
2
3
4
5
6
7
8
a = np.genfromtxt('C:/Users/Arlen/Documents/Fire.csv',
                  dtype= None, delimiter=";", skip_header=1)
 
[['"Белгородская обл."' '27.1.2019 0:00:00' '402,00' '0,00' '250000,00']
 ['"Белгородская обл."' '1.1.2019 0:00:00' '283,00' '0,00' '20000,00']
 ['"Белгородская обл."' '7.1.2019 0:00:00' '402,00' '0,00' '400000,00']
 ['"Белгородская обл."' '9.1.2019 0:00:00' '88,00' '0,00' '0,00']
 ['"Белгородская обл."' '18.1.2019 0:00:00' '282,00' '1,00' '20000,00']]
Насколько я разобрался у genfromtxt есть возможность настроить преобразование данных в нужный формат. Стоит ли это делать? Или лучше потом переформатировать данные в массиве?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.12.2020, 01:21
Цитата Сообщение от VistaSV30 Посмотреть сообщение
Стоит ли это делать?
Конечно, стоит. Возиться потом будет сложнее.
0
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
12.12.2020, 13:52  [ТС]
Спасибо еще раз!

Скажите, а в целом какой способ импорта в Python порекомендуете для базы данных Access на 5 млн записей, где в основном числа и еще даты, время и текст?
Цель - по этим данным провести статистический анализ.

Добавлено через 8 минут
Может быть лучше будет сначала в Access таблицу с данными, например, в формате CSV, а потом работать с ней в Python?

Добавлено через 13 минут
Или может быть - PostgreSQL ?

Добавлено через 3 часа 41 минуту
Это я уже больше для себя пишу.
Для работы с неоднородными данными лучше использовать модуль pandas. NumPy использовать как вспомогательное средство
0
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
17.12.2020, 23:29  [ТС]
Лучше сразу загружать в Pandas
Импорт базы данных в Python
0
Эксперт Python
 Аватар для dondublon
4651 / 2071 / 366
Регистрация: 17.03.2012
Сообщений: 10,181
Записей в блоге: 6
18.12.2020, 11:40
Да, numpy всё-таки больше для чисел, для разнородных данных - pandas. Но, возможно, вам и pandas не понадобится, всё можно будет сделать сразу в access, через sql. Простые операции - среднее, дисперсию - там без проблем можно вычислить.
0
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
18.12.2020, 21:14  [ТС]
В Access конечно можно все посчитать. Мне нужно на основе данных из БД сделать шаблон текста отчета, чтобы каждый месяц не пересчитывать одни и те же показатели.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.12.2020, 21:14
Помогаю со студенческими работами здесь

Как прочитать .csv-файл
Всем привет! Как прочитать .csv-файл, чтобы на выходе получить (все пустые значения должны остаться): import csv with...

Прочитать последнюю строку в CSV файле
Здравствуйте! Написал VB скрипт для чтения CSV файла в WinCC RT Pro. подскажите как сделать так чтоб скрипт читал последние значения в ...

Прочитать файл csv, используя Split
короче есть файл dbtechtreenode.csv хочу прочитать и заполнить таблицу текстом, через кому между комами текст тот что нужен вот...

Прочитать и достать столбец из файла csv
Здравствуйте, такой вопрос: есть файл csv нужно из него взять конкретный столбец и записать в файл

Не получается прочитать .xls или .csv с кириллицей
def read_excel(path): with open(path, encoding='utf-8') as f: print(f) excel_data = pandas.read_csv(f) ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД 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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru