我是python和pandas的新手,我面临以下问题:我有20多个电子表格,其中包含多张工作表。我想将每个电子表格中的第二张工作表合并为一个电子表格。我正在使用以下代码,该代码的作用在于它创建了一个工作表列表,但未正确连接它们,合并后的文件只有第一个文件中的工作表。每张纸具有相同的标题行和相同的结构。
任何帮助将不胜感激。我正在使用的代码如下:
import os
import glob
import pandas as pd
os.chdir(r"C:\Users\Site_Users")
extension = 'xlsx'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
#combine all files in the list
xl_list=[]
for f in all_filenames:
df=pd.read_excel(f, sheet_name = 1)
xl_list.append(df)
combined = pd.concat(xl_list, ignore_index = True)
combined.to_excel( "combined.xlsx", index=False)
假设您有一个df列表,请尝试将axis = 0添加到您的concat。
即
combined = pd.concat(xl_list, axis = 0, ignore_index = True)
只需关闭此循环。我找到了答案。该代码是正确的,但是有许多行看起来是空的,但是其中包含公式,对于代码来说,它们看起来好像不是空单元格,因此它将这些行添加到组合表中。因此,我错过了添加的行,因为它们比空行低400行。