一yiyi一 2024-01-03 12:40 采纳率: 50%
浏览 25
已结题

使用python 怎么16张表头不一致的excel表 以下面的表头格式 合并在一起呢

使用python 怎么16张表头不一致的excel表 以下面的表头格式 合并在一起呢?

img

最终的字段:

img

  • 写回答

16条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-01-03 12:50
    关注
    获得0.60元问题酬金

    参考AI提供:

    要合并16张表头不一致的Excel表,可以使用pandas库来实现。首先需要安装pandas和openpyxl库,然后按照以下步骤操作:

    1. 读取所有Excel文件到一个列表中。
    2. 遍历列表,使用pandas的read_excel函数读取每个Excel文件,并将其存储在一个字典中,以文件名作为键。
    3. 找到所有文件中共有的列名,并将这些列名添加到一个新的DataFrame中。
    4. 将新的DataFrame写入一个新的Excel文件。

    以下是具体的代码实现:

    import pandas as pd
    import os
    
    # 读取所有Excel文件到一个列表中
    folder_path = 'your_folder_path'  # 替换为你的文件夹路径
    file_list = os.listdir(folder_path)
    excel_files = [file for file in file_list if file.endswith('.xlsx') or file.endswith('.xls')]
    
    # 使用pandas的read_excel函数读取每个Excel文件,并将其存储在一个字典中
    data_frames = {}
    for file in excel_files:
        file_path = os.path.join(folder_path, file)
        data_frames[file] = pd.read_excel(file_path)
    
    # 找到所有文件中共有的列名,并将这些列名添加到一个新的DataFrame中
    common_columns = set(data_frames[excel_files[0]].columns)
    for df in data_frames.values():
        common_columns.intersection_update(df.columns)
    
    merged_data = pd.concat([df[common_columns] for df in data_frames.values()], ignore_index=True)
    
    # 将新的DataFrame写入一个新的Excel文件
    output_file = 'merged_data.xlsx'
    merged_data.to_excel(output_file, index=False)
    

    请将your_folder_path替换为你的文件夹路径,运行上述代码后,会生成一个名为merged_data.xlsx的新Excel文件,其中包含了所有输入Excel文件中共有的列。

    评论

报告相同问题?

问题事件

  • 系统已结题 1月11日
  • 创建了问题 1月3日