|
0 / 0 / 0
Регистрация: 10.03.2021
Сообщений: 24
|
||||||
Загрузить данные из Excel нестандартной структуры10.03.2021, 13:37. Показов 2472. Ответов 11
Всем привет! Нужно загрузить данные из екселя используя pandas.read_excel. Сам ексель файл представляет собой следующую структуру:
Первые несколько строчек ненужная информация , потом названия столбцов в строке, потом опять ненужная , ниже в столбце индексы, а напротив в строках данные. (Схематическое изображение на рисунке: trash - ненужные данные которые нужно пропустить) У меня получилось написать функцию, которая может читать ексель такого типа, но препод сказал, что файл нужно именно парсить и можно использовать магические команды, а я использую константы (например в skiprows). Я прочитала всю документацию по функции pandas.read_excel , но не нашла ничего про эти команды. Что можно сделать, чтобы читать используя магические команды и парсить? (даже если не пандас библиотека). Спасибо
0
|
||||||
| 10.03.2021, 13:37 | |
|
Ответы с готовыми решениями:
11
Не могу загрузить данные с Excel Загрузить данные из Excel в StringGrid Как загрузить данные из Excel в массив |
|
0 / 0 / 0
Регистрация: 10.03.2021
Сообщений: 24
|
|
| 10.03.2021, 14:33 [ТС] | |
|
а можно ли здесь использовать магические команды? что подразумевается под "вручную доводить до кондиции". Просто препод сказал что все это можно через 1 функцию сделать просто правильно аргументы указать
0
|
|
|
|
|
| 10.03.2021, 17:30 | |
|
Maria_pythonist, насколько я знаю, maginc methods - это немного про другое.
Доводить до кондиции - pd.read_excel (или как его там) уммет читать только прямоугольные таблички. Если ваша структура не такая - ну что ж вы хотите, он не сможет, доводИте вручную.
0
|
|
|
0 / 0 / 0
Регистрация: 10.03.2021
Сообщений: 24
|
|
| 10.03.2021, 18:09 [ТС] | |
|
вот более наглядно
0
|
|
|
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
|
||||||
| 10.03.2021, 21:24 | ||||||
|
Maria_pythonist, а имена столбцов и индексы имеют что то общее и отличное от trash?
Добавлено через 3 часа 11 минут Maria_pythonist, может не то, что нужно
1
|
||||||
|
0 / 0 / 0
Регистрация: 10.03.2021
Сообщений: 24
|
|
| 10.03.2021, 22:14 [ТС] | |
|
Я указала trash - потому что это не нужная информация для записи в датафрейм (пустые поля или ненужные данные). А вы можете поподробнее про вашу реализацию рассказать? Я так понимаю, вы все NA заменяете на 1 а потом что?
0
|
|
|
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
|
|
| 10.03.2021, 22:28 | |
|
Maria_pythonist, 5-я строчка - оставляет все данный, убирая "пустые" столбцы справа от последнего значащего. (1 тут - столбцы)
6-я - оставляет строчки, в которых нет в последнем столбце (-1) значения NaN 7-я - список наименования столбцов 8-я - удаляет строки, содержащие NaN 9-я - список наименования индексов строк 10-я - новый фрейм со значениями из указанного диапазона старого фрейма с именами строк и столбцов
0
|
|
|
0 / 0 / 0
Регистрация: 10.03.2021
Сообщений: 24
|
|
| 10.03.2021, 22:30 [ТС] | |
|
Спасибо, теперь логика понятна! Но все равно остаются эти константы. С другой стороны, судя по всему эту задачу по другому не решить и препод врал мне когда сказал что это возможно без контант. Как думаете?
0
|
|
|
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
|
|
| 10.03.2021, 22:33 | |
|
Этот код работает только, если "верхняя" табличка "уже" значащей.
Если идентификатором значащей таблицы считается последняя перед ней пустая строка, то код другой нужен Добавлено через 59 секунд Maria_pythonist, констант нет - первый (первая) - из структуры массивов
0
|
|
|
0 / 0 / 0
Регистрация: 10.03.2021
Сообщений: 24
|
|
| 10.03.2021, 23:27 [ТС] | |
|
А если например представить, что у нас тот же самый ексель но строка с индексами и данными находятся на 31 строке. Тогда как изменится?
0
|
|
|
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
|
|
| 11.03.2021, 04:11 | |
|
Maria_pythonist, Никак
По идее "шаблон" выборки может еще основываться на условии, что, допустим, значения ячеек "index" и "header" имеют тип данных, отличный от "trash" и "data" (пусть даже "trash" и "data" одинаковый тип, например числа или bool).
0
|
|
| 11.03.2021, 04:11 | |
|
Помогаю со студенческими работами здесь
12
Загрузить в combobox данные с листа Excel Данные из Excel файла загрузить в таблицу БД Как данные из Excel загрузить из OpenDialogFile в combobox? Загрузить данные из файла Excel в StringGrid через OpenDialog Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
|