我正试图用Python将10个Excel文件附加到一个文件中
下面的代码已被使用,我正在获取
TypeError: first argument must be an iterable of pandas objects,
you passed an object of type "DataFrame"
一旦我将sheet_name参数更改为None,代码就会完美地运行。 但是,所有10个excel文件都有三张工作表,我只希望每个excel文件有特定的工作表。 有什么办法可以完成吗
谢谢你的帮助
import pandas as pd
import glob
path = r'Folder path'
filenames = glob.glob(path + "\*.xlsx")
finalexcelsheet = pd.DataFrame()
for file in filenames:
df = pd.concat(pd.read_excel(file, sheet_name= 'Selected Sheet'), ignore_index=True,sort=False)
finalexcelsheet=finalexcelsheet.append(df,ignore_index=True)
我无法测试它,但问题是因为您以错误的方式使用了
concat
,或者更确切地说,因为在您的情况下不需要concat
concat
需要类似dataframes
的列表但是
read_excel
为不同的sheet_name=...
提供了不同的对象,这就产生了问题read_excel
forsheet_name=None
返回列表或dict,其中所有工作表都在分隔的dataFrames
然后
concat
可以将它们连接到一个dataframe
read_excel
forsheet_name=name
返回单个dataframe
然后
concat
没有任何联合-并且它给出了错误。但这意味着你不需要
concat
您应该直接将
read_excel
分配给df
相关问题 更多 >
编程相关推荐