Python 如何将多个excel xlsm文件与多个工作表合并到一个数据集中?
我不熟悉编码。我正在尝试将3个不同的xlsm文件合并为一个。这3个文件有一个选项卡,名称相同“SUmmary”,这是我想在一个数据帧中添加的工作表,但在创建数据帧时,我遇到了一个无法修复的错误 我所尝试的:Python 如何将多个excel xlsm文件与多个工作表合并到一个数据集中?,python,excel,pandas,merge,Python,Excel,Pandas,Merge,我不熟悉编码。我正在尝试将3个不同的xlsm文件合并为一个。这3个文件有一个选项卡,名称相同“SUmmary”,这是我想在一个数据帧中添加的工作表,但在创建数据帧时,我遇到了一个无法修复的错误 我所尝试的: <for f in files_xlsm: data= pd.read_excel(f, sheet_name = 'Summary') df = df.append(data)> 错误: <IOErrorTraceback (most recent call las
<for f in files_xlsm:
data= pd.read_excel(f, sheet_name = 'Summary')
df = df.append(data)>
错误:
<IOErrorTraceback (most recent call last)
<ipython-input-63-fcda0775e736> in <module>()
1 #Loop over files to append to empty dataframe
2 for f in files_xlsm:
----> 3 data= pd.read_excel(f, sheet_name = 'Summary')
4 df = df.append(data)
IOError: [Errno 2] No such file or directory: 'FIM 2.0 IP Review FP Baby - Copy.xlsm'>
3 data=pd.read\u excel(f,工作表名称='Summary')
4 df=df.append(数据)
IOError:[Errno 2]没有这样的文件或目录:'FIM 2.0 IP Review FP Baby-Copy.xlsm'>
您需要将每个文件作为数据帧加载,然后使用pandas concat
import pandas as pd
for f in files_xlsm:
if files_xlsm.index(f) == 0:
df = pd.read_excel(f, sheet_name = 'Summary')
else:
merge_df = pd.read_excel(f, sheet_name = 'Summary')
df = pd.concat([df, merge_df])
但是堆栈跟踪显示,您的错误实际上是脚本找不到文件“FIM 2.0 IP Review FP Baby-Copy.xlsm”,因此请确保在保存该脚本的同一目录中运行该脚本 您需要将每个文件作为数据帧加载,然后使用concat
import pandas as pd
for f in files_xlsm:
if files_xlsm.index(f) == 0:
df = pd.read_excel(f, sheet_name = 'Summary')
else:
merge_df = pd.read_excel(f, sheet_name = 'Summary')
df = pd.concat([df, merge_df])
但是堆栈跟踪显示,您的错误实际上是脚本找不到文件“FIM 2.0 IP Review FP Baby-Copy.xlsm”,因此请确保在保存该脚本的同一目录中运行该脚本 这也可以完成这项工作:
import pandas as pd
import glob
df = pd.concat([pd.read_excel(f, sheet_name = 'Summary') for f in glob.glob('path/*.xlsx')], ignore_index = True)
这也可以完成这项工作:
import pandas as pd
import glob
df = pd.concat([pd.read_excel(f, sheet_name = 'Summary') for f in glob.glob('path/*.xlsx')], ignore_index = True)