Pandas - добавление файлов Excel в папку, но также и каждого из их соответствующих листов, поэтому выходной файл имеет каждый добавленный лист - PullRequest
0 голосов
/ 15 сентября 2018

Следующее прекрасно работает для просмотра папки с файлами .xlsx и добавления их. Но это работает только для добавления первой вкладки и сохранения первых добавленных вкладок. Я знаю о read pd.read_excel (f, sheet_name = None) - но это просто не работает, я действительно хочу, чтобы выходной файл имел несколько вкладок, добавленных соответственно, как первая вкладка. Любая идея?

import glob
import pandas as pd
import xlrd
#import XlsxWriter
all_data = pd.DataFrame()
for f in glob.glob(r'C:\*'):
    df = pd.read_excel(f)
    all_data = all_data.append(df,ignore_index=True)

writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
all_data.to_excel(writer)
writer.save()

1 Ответ

0 голосов
/ 15 сентября 2018

Вам необходимо использовать pandas.ExcelFile объект.У него есть sheet_names метод для извлечения всех листов в файле Excel.

Посмотрите на приведенный ниже код.

with pd.ExcelFile(<path_to_xlsx>) as xls:
    for each in xls.sheet_names:
        all_data.append(xls.parse(each), ignore_index=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...