如何使用Pandas读取多个xlsx文件,并在多张纸的单个文件中输出为一个文件?

时间:2018-08-10 18:56:26

标签: python excel pandas xlsx openpyxl

.xlsx文件全部位于一个目录中。此目录中只有.xlsx个文件。我需要获取每个单独的.xlsx文件,并将其插入到一张纸中。

示例如下:

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

最终结果应该是一个带有4张纸的 Excel 文件。

1 个答案:

答案 0 :(得分:1)

执行此操作的过程是:

0 。设置

安装所需的软件包:

pip install pandas
pip install xlsxwriter

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

import pandas as pd

1 。读入.xlsx文件

a 。每个按名称:

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

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

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()

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