首页 > 解决方案 > 如何使用 Pandas 读取多个 xlsx 文件并将其输出到多个工作表中的单个文件中?

问题描述

这些.xlsx文件都在一个目录中。此目录中只有.xlsx文件。我需要获取每个单独的.xlsx文件并将其插入到单个工作表中。

该示例如下所示:

  1. 目录有4个.xlsx文件
  2. 读取所有 4 个.xlsx文件
  3. 将所有 4 个.xlsx文件放入一个文件中
  4. 每个文件应代表一张纸。

最终结果应该是一个包含 4 张工作表的Excel文件。

标签: pythonexcelpandasxlsxopenpyxl

解决方案


这样做的过程是:

0 . 设置

安装所需的软件包:

pip install pandas
pip install xlsxwriter

然后将 pandas 导入您正在使用的 Python 文件中:

import pandas as pd

1 . 读入.xlsx文件

一个。每个人的名字:

df1 = pd.read_excel('./excelfile1.xlsx')

ETC

。阅读当前目录中的所有内容:

import os, re
dfs = []
for fname in os.listdir():
    if re.search(r'\.xlsx$', fname):
        dfs.append(pd.read_excel(fname))

2 . 创建一个新文件并将现有文件添加为工作表

writer = pd.ExcelWriter('./newfilename.xlsx', engine='xlsxwriter')
sheet_names = ['sheet1', ...]
for df, sheet_name in zip(dfs, sheet_names):
    df.to_excel(writer, sheet_name=sheet_name)
writer.save()

这将在当前目录中创建一个新的 Excel 文件,将newfilename.xlsx您现有的每个 Excel 文件作为工作表调用。


推荐阅读