如何从多个XL序列中合并多个选定的工作表

问题描述 投票:0回答:2

我是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)
python pandas concat
2个回答
0
投票

假设您有一个df列表,请尝试将axis = 0添加到您的concat。

combined = pd.concat(xl_list, axis = 0, ignore_index = True)

0
投票

只需关闭此循环。我找到了答案。该代码是正确的,但是有许多行看起来是空的,但是其中包含公式,对于代码来说,它们看起来好像不是空单元格,因此它将这些行添加到组合表中。因此,我错过了添加的行,因为它们比空行低400行。

© www.soinside.com 2019 - 2024. All rights reserved.