【问题标题】:Multiple Excel Files as Separate Sheets Using Python使用 Python 将多个 Excel 文件作为单独的工作表
【发布时间】:2022-01-14 04:53:11
【问题描述】:

我看到的大多数文章: a) 将多个 excel 单表工作簿合并为一个主工作簿,只需一张工作表或; b) 将多页 Excel 工作簿拆分为单独的工作簿。

但是,我的目标是获取特定文件夹中的所有 excel 文件,并将它们作为单独的工作表保存在一个新的主 excel 工作簿中。我正在尝试将每个工作表名称重命名为原始文件的名称。

import pandas as pd
import glob
import os

file = "C:\\File\\Path\\"
filename = 'Consolidated Files.xlsx'
pth = os.path.dirname(file)
extension = os.path.splitext(file)[1]
files = glob.glob(os.path.join(pth, '*xlsx'))

w = pd.ExcelWriter(file + filename)

for f in files:
    print(f)
    df = pd.read_excel(f, header = None)
    print(df)
    df.to_excel(w, sheet_name = f, index = False)
   
w.save()

如何调整每张工作表的名称?另外,如果您发现任何清理此问题的机会,请告诉我

【问题讨论】:

    标签: python excel pandas


    【解决方案1】:

    您不能使用特殊字符重命名工作表,因为f 是完整路径和文件名。您应该只使用文件名来命名工作表名,使用os.path.basename 来获取文件名并使用split 来分隔文件名和扩展名。

    for f in files:
        print(f)
        df = pd.read_excel(f, header = None)
        print(df)
        
        # Use basename to get filename with extension
        # Use split to seperate filename and extension
        new_sheet_name = os.path.basename(f).split('.')[0]
        
        # 
        df.to_excel(w, sheet_name = new_sheet_name , index = False)
    

    【讨论】:

    • 成功了,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2019-05-30
    • 2014-01-29
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    相关资源
    最近更新 更多