【问题标题】:python create one excel from selected files using path and read excelpython使用路径从选定的文件中创建一个excel并读取excel
【发布时间】:2023-03-15 15:21:02
【问题描述】:

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

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

【问题讨论】:

标签: python excel pandas path


【解决方案1】:

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

【讨论】:

  • 谢谢。实际上我不需要文件中的所有表格,只需要'sheet1','sheet2','sheet3'(随机顺序)。如何修改脚本?
  • @Matteo 更新我的答案以获得 10 个随机 excel 文件。
  • 对不起,我的意思是工作表而不是文件。基本上每个excel文件都有15张,我只需要其中的三张,例如sheet1、sheet 5、sheet12。如何更新您的脚本?谢谢
  • @Matteo 查看更新的代码,这将从每个文件中随机选择 3 张。
【解决方案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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多