python создать один Excel из выбранных файлов, используя путь и читать Excel - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть папка с 100 файлами Excel. Мне просто нужно 20 из них, и я хочу создать один файл Excel с выбранными листами (одинаковые листы для всех файлов Excel).

Я сделал следующее:

# Working directory
data_folder = Path("C:/Users/.../myfiles")

#My working files:
excel01 = data_folder / "excel01.xls"
excel02 = data_folder / "excel02.xls"
...
excel20 = data_folder / "excel20.xls"

Как создать один файл Excel?

Я пробовал с

df = pd.read_excel ([excel01,excel02,...,excel20],sheet_name = ['sheet1','sheet2,'sheet3'], skiprows = 4)

, но он не работает. Любые предложения или более эффективные способы приветствуются. Спасибо

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Вы можете создать ExcelWriter и отправить его в качестве параметра на df.to_excel

excels = [excel01, excel02, ...]

sheets = random.sample(range(1, 16), 3)

i = 1
with pd.ExcelWriter('output.xlsx') as writer:
    for excel in excels:
        for sheet in sheets:
            df = pd.read_excel(excel, sheet_name=f'Sheet{sheet}')
            df.to_excel(writer, f'Sheet{i}')
            writer.save()
            i += 1
0 голосов
/ 13 февраля 2020
import pandas as pd


# Create some Pandas dataframes from some data.
df1 = pd.DataFrame({'Data': [11, 12, 13, 14]})
df2 = pd.DataFrame({'Data': [21, 22, 23, 24]})
df3 = pd.DataFrame({'Data': [31, 32, 33, 34]})

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('pandas_multiple.xlsx', engine='xlsxwriter')

# Write each dataframe to a different worksheet.
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
df3.to_excel(writer, sheet_name='Sheet3')

# Close the Pandas Excel writer and output the Excel file.
writer.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...