Python 中使用openpyxl模块 将多个excel文件合并到一个EXCEL文件

刚发完上一篇   使用Inscode  (每天三次免费) 

输入要求:Python 中使用openpyxl模块 将多个具有相同表头的excel文件合并到一个EXCEL文件

以下是给出的答案 ,先记录下  明天再来研究

import openpyxl

import os

# 定义函数,用于合并工作表

def merge_excel_files(folder_path, output_file):

    # 获取目标文件夹下所有xlsx文件的文件名

    file_list = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]

    # 创建新的工作簿

    output_workbook = openpyxl.Workbook()

    # 循环读取每个excel文件

    for file_name in file_list:

        # 打开excel文件

        workbook = openpyxl.load_workbook(os.path.join(folder_path, file_name))

        # 循环读取每个工作表

        for sheet_name in workbook.sheetnames:

            worksheet = workbook[sheet_name]

            # 如果是第一个工作表,则直接将表头复制到新的工作簿

            if sheet_name == workbook.sheetnames[0]:

                output_worksheet = output_workbook.create_sheet(title=sheet_name)

                for row in worksheet.iter_rows(min_row=1, max_row=1):

                    output_worksheet.append([cell.value for cell in row])

            # 如果不是第一个工作表,则只复制数据

            else:

                output_worksheet = output_workbook[sheet_name]

            for row in worksheet.iter_rows(min_row=2):

                output_worksheet.append([cell.value for cell in row])

    # 保存合并后的excel文件

    output_workbook.save(output_file)

    print('合并完成。')

# 调用函数,合并所有xlsx文件到一个名为merged.xlsx的文件中

merge_excel_files('excel文件夹路径', 'merged.xlsx')

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 答:可以使用Pythonopenpyxl库来合并Excel文件,代码如下:import openpyxl# 确定要合并Excel文件 files = ['file1.xlsx', 'file2.xlsx']# 创建一个新的Excel文件,用来存储合并结果 merged = openpyxl.Workbook()# 将每个文件的每个sheet都添加到merged文件 for filename in files: workbook = openpyxl.load_workbook(filename) for sheet_name in workbook.sheetnames: worksheet = workbook[sheet_name] merged.create_sheet(sheet_name) merged_sheet = merged[sheet_name] for row in worksheet.iter_rows(): for cell in row: merged_sheet.cell(row=cell.row, column=cell.col_idx).value = cell.value# 保存合并结果 merged.save('merged.xlsx') ### 回答2: 写一个Python程序,用于合并多个Excel文件。 首先,我们需要安装`pandas`和`openpyxl`模块。可以使用以下命令在命令行安装这两个模块: ``` pip install pandas openpyxl ``` 接下来,我们可以编写Python代码来合并Excel文件。以下是一个简单的实例: ```python import pandas as pd # 创建一个空的DataFrame来存储所有的数据 merged_data = pd.DataFrame() # 读取所有要合并Excel文件 file_names = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx'] for file_name in file_names: # 读取每个Excel文件的数据,并将其存储在临时变量 data = pd.read_excel(file_name) # 将每个文件的数据追加到已合并的数据 merged_data = merged_data.append(data, ignore_index=True) # 将合并后的数据保存到一个新的Excel文件 merged_data.to_excel('merged_file.xlsx', index=False) ``` 在上面的示例,我们首先创建了一个空的DataFrame对象`merged_data`来存储所有Excel文件的数据。然后,我们使用`pd.read_excel`函数读取每个Excel文件的数据,并将其存储在名为`data`的临时变量。接下来,我们使用`append`方法将每个文件的数据追加到`merged_data`,设置`ignore_index=True`以确保索引是连续的。最后,我们使用`to_excel`方法将合并后的数据保存到一个新的Excel文件文件名为`merged_file.xlsx`,设置`index=False`以避免保存索引列。 使用该程序,您可以将多个Excel文件合并一个文件,并保存为新的Excel文件。确保将实际的文件名替换为`file1.xlsx`、`file2.xlsx`等,以及合并后的文件名替换为`merged_file.xlsx`。 ### 回答3: 可以使用Python的pandas库来合并Excel文件。 首先,需要安装pandas库:在终端运行命令`pip install pandas`。 接下来,可以使用以下代码合并Excel文件: ```python import pandas as pd # 定义要合并Excel文件路径 file1 = "path/to/excel1.xlsx" file2 = "path/to/excel2.xlsx" output_file = "path/to/output.xlsx" # 读取Excel文件 df1 = pd.read_excel(file1) df2 = pd.read_excel(file2) # 合并数据 merged_df = pd.concat([df1, df2]) # 保存合并后的数据到新的Excel文件 merged_df.to_excel(output_file, index=False) print("Excel文件合并完成!") ``` 在上述代码,首先需要将要合并Excel文件的路径指定为`file1`和`file2`变量的值。output_file变量指定了合并后的Excel文件要保存的路径和文件名。 然后,使用`pd.read_excel`函数分别读取两个Excel文件的内容,并将读取的数据存入`df1`和`df2`变量。 接下来,使用`pd.concat`函数将两个数据框按行合并一个新的数据框`merged_df`。 最后,使用`to_excel`方法将合并后的数据保存到指定的Excel文件`output_file`。 运行程序后,会输出"Excel文件合并完成!",表示合并成功。合并后的数据会保存在指定的 Excel 文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值