python使用path和read excel从所选文件创建一个excel

2024-07-04 07:36:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含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)

但它不起作用。欢迎提出任何建议或更有效的方法。谢谢


Tags: 文件path文件夹datamyfolderxlsexcel
2条回答
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()

您可以创建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

相关问题 更多 >

    热门问题