|
0 / 0 / 0
Регистрация: 10.03.2021
Сообщений: 24
|
||||||
Загрузить данные из Excel нестандартной структуры10.03.2021, 13:37. Показов 2560. Ответов 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
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
||||||
| 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
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
|
| 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
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
|
| 10.03.2021, 22:33 | |
|
Этот код работает только, если "верхняя" табличка "уже" значащей.
Если идентификатором значащей таблицы считается последняя перед ней пустая строка, то код другой нужен Добавлено через 59 секунд Maria_pythonist, констант нет - первый (первая) - из структуры массивов
0
|
|
|
0 / 0 / 0
Регистрация: 10.03.2021
Сообщений: 24
|
|
| 10.03.2021, 23:27 [ТС] | |
|
А если например представить, что у нас тот же самый ексель но строка с индексами и данными находятся на 31 строке. Тогда как изменится?
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
|
| 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|