Pandas объединяет несколько файлов Excel в папке по заранее определенным листам ⇐ Python
Pandas объединяет несколько файлов Excel в папке по заранее определенным листам
Я пытаюсь объединить несколько файлов в папке с заранее определенным именем листов (поскольку в каждом файле есть несколько листов, которые я не хочу объединять), но у меня возникла проблема, как показано ниже. Я пытаюсь сделать это с помощью приведенного ниже кода:
из пути импорта pathlib импортировать панд как pd импортировать глобус импорт ио папка = Путь(r'D:\Test\Новая папка') для файла в папке.globe('*xlsx'): имя_листа = ['нравится','контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер»] дфс = [] для x в имени_листа: df = pd.read_excel(файл, имя_листа=x); base_date = df.iloc[0,10]. ветка = df.iloc[1,12] df.columns = df.iloc[2] дф = дф[3:] # Это НЭН df = df.loc[:, df.columns.notnull()] df_2 = df.iloc[:, 0:4 df_3 = df.iloc[:, 4:] df = pd.concat([df_2, df_3], axis=0, ignore_index=True); df['BaseDate'] = базовая_дата df['Базовая дата'] = pd.to_datetime(df['Базовая дата'], format='%d-%m-%Y').dt.strengthtime('%Y%m%d').astype( инт) df['Ветка'] = ветвь dfs.добавление (df) вывод = pd.concat(dfs, axis=0, ignore_index=True); печать (вывод) Выдается ошибка ValueError: рабочий лист с именем '' не найден. Поэтому я попробовал использовать приведенный ниже код:
из пути импорта pathlib импортировать панд как pd импортировать глобус импорт ио папка = Путь(r'D:\Test\Новая папка') для файла в папке.globe('*xlsx'): имя_листа = ['нравится','контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер»] дфс = [] для x в имени_листа: пытаться: df = pd.read_excel(файл, имя_листа=x); base_date = df.iloc[0,10]. ветка = df.iloc[1,12] df.columns = df.iloc[2] дф = дф[3:] # Это НЭН df = df.loc[:, df.columns.notnull()] df_2 = df.iloc[:, 0:4 df_3 = df.iloc[:, 4:] df = pd.concat([df_2, df_3], axis=0, ignore_index=True); df['BaseDate'] = базовая_дата df['Базовая дата'] = pd.to_datetime(df['Базовая дата'], format='%d-%m-%Y').dt.strengthtime('%Y%m%d').astype( инт) df['Ветка'] = ветвь dfs.добавление (df) кроме ValueError как e: проходить вывод = pd.concat(dfs, axis=0, ignore_index=True); печать (вывод) Но этот код работает только для одного последнего файла. Как я могу достичь своей цели? Пример данных доступен для скачивания здесь: https://github.com/hoatranobita/concat
Я пытаюсь объединить несколько файлов в папке с заранее определенным именем листов (поскольку в каждом файле есть несколько листов, которые я не хочу объединять), но у меня возникла проблема, как показано ниже. Я пытаюсь сделать это с помощью приведенного ниже кода:
из пути импорта pathlib импортировать панд как pd импортировать глобус импорт ио папка = Путь(r'D:\Test\Новая папка') для файла в папке.globe('*xlsx'): имя_листа = ['нравится','контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер»] дфс = [] для x в имени_листа: df = pd.read_excel(файл, имя_листа=x); base_date = df.iloc[0,10]. ветка = df.iloc[1,12] df.columns = df.iloc[2] дф = дф[3:] # Это НЭН df = df.loc[:, df.columns.notnull()] df_2 = df.iloc[:, 0:4 df_3 = df.iloc[:, 4:] df = pd.concat([df_2, df_3], axis=0, ignore_index=True); df['BaseDate'] = базовая_дата df['Базовая дата'] = pd.to_datetime(df['Базовая дата'], format='%d-%m-%Y').dt.strengthtime('%Y%m%d').astype( инт) df['Ветка'] = ветвь dfs.добавление (df) вывод = pd.concat(dfs, axis=0, ignore_index=True); печать (вывод) Выдается ошибка ValueError: рабочий лист с именем '' не найден. Поэтому я попробовал использовать приведенный ниже код:
из пути импорта pathlib импортировать панд как pd импортировать глобус импорт ио папка = Путь(r'D:\Test\Новая папка') для файла в папке.globe('*xlsx'): имя_листа = ['нравится','контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', 'контейнер', «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер», «контейнер»] дфс = [] для x в имени_листа: пытаться: df = pd.read_excel(файл, имя_листа=x); base_date = df.iloc[0,10]. ветка = df.iloc[1,12] df.columns = df.iloc[2] дф = дф[3:] # Это НЭН df = df.loc[:, df.columns.notnull()] df_2 = df.iloc[:, 0:4 df_3 = df.iloc[:, 4:] df = pd.concat([df_2, df_3], axis=0, ignore_index=True); df['BaseDate'] = базовая_дата df['Базовая дата'] = pd.to_datetime(df['Базовая дата'], format='%d-%m-%Y').dt.strengthtime('%Y%m%d').astype( инт) df['Ветка'] = ветвь dfs.добавление (df) кроме ValueError как e: проходить вывод = pd.concat(dfs, axis=0, ignore_index=True); печать (вывод) Но этот код работает только для одного последнего файла. Как я могу достичь своей цели? Пример данных доступен для скачивания здесь: https://github.com/hoatranobita/concat
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Доступ к листам, сохранение файлов Excel, Java, Java Com Bridge (Jacob Jacob-1.16)
Anonymous » » в форуме JAVA - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Доступ к листам, сохранение файлов Excel, Java, Java Com Bridge (Jacob Jacob-1.16)
Anonymous » » в форуме JAVA - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Python объединяет или объединяет несколько dfs с пересекающимся индексом даты и времени
Anonymous » » в форуме Python - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Python объединяет или объединяет несколько dfs с пересекающимся индексом даты и времени
Anonymous » » в форуме Python - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Python объединяет или объединяет несколько dfs с пересекающимся индексом даты и времени
Anonymous » » в форуме Python - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-