Формат файла Excel, экспортированного из веб-приложения, бесполезен. Необходимо выполнить над ним различные операции, чтобы сделать его пригодным в качестве фрейма данных. Из bubble.io файл Excel будет загружен пользователем, обработан в корзине Amazon s3 с использованием лямбда-функции, которая удаляет пару пустых строк вверху (но мне нужны некоторые значения ячеек), добавляет столбцы и перемещает некоторые столбцы, чтобы стать дальнейшие строки дальше по таблице, прежде чем он будет возвращен в виде файла csv с помощью пузырька для добавления в качестве нового типа данных (сбивающая с толку терминология для таблицы, которую использует bubble.io)
В конечном итоге мне нужно использовать pandas для преобразования этого файла Excel...
... к этому (но как фрейм данных я могу экспортировать в файл Excel или CSV)
Предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.






Как только вы прочитаете файл Excel как фрейм данных pandas, вы можете использовать stack, чтобы получить ожидаемый результат.
Предполагая, что этот фрейм данных является входными:
data = {
("01/01/2024", "a"): [1, 2, 3],
("01/01/2024", "b"): [4, 5, 6],
("01/01/2024", "c"): [7, 8, 9],
("02/01/2024", "a"): [10, 11, 12],
("02/01/2024", "b"): [13, 14, 15],
("02/01/2024", "c"): [16, 17, 18],
}
index = ["A", "B", "C"]
df = pd.DataFrame(data, index=index)
01/01/2024 02/01/2024
a b c a b c
A 1 4 7 10 13 16
B 2 5 8 11 14 17
C 3 6 9 12 15 18
Используйте stack, затем сбросьте индекс и отсортируйте значения в нужном порядке:
df = df.stack(level=0).reset_index(names=["ID", "date"]).sort_values(["date", "ID"])
ID date a b c
0 A 01/01/2024 1 4 7
2 B 01/01/2024 2 5 8
4 C 01/01/2024 3 6 9
1 A 02/01/2024 10 13 16
3 B 02/01/2024 11 14 17
5 C 02/01/2024 12 15 18
Хорошо, и что ты уже сделал? Где ты застрял? (Панды также могут плохо подходить для первоначальной обработки; посмотрите непосредственно на использование
openpyxl.)