【Python】Excel多sheet逐行合并为一个sheet

我有一个excel,内含多个sheet,我要将不同sheet合并在一个sheet中,依然保存在这个excel文件中,命名为合并,要求列名依次对应,逐行合并,请为我写出python代码

import pandas as pd

# 读取 Excel 文件中的所有 sheet
excel_file = r'D:\数据.xlsx'  # 请替换成您的 Excel 文件路径
all_data = pd.read_excel(excel_file, sheet_name=None)

# 将所有 sheet 合并为一个 DataFrame
combined_data = pd.concat(all_data, ignore_index=True)

# 将合并后的数据写入新的 Excel 文件中
with pd.ExcelWriter(excel_file, engine='openpyxl', mode='a') as writer:  # mode='a' 表示追加写入
    combined_data.to_excel(writer, sheet_name='合并', index=False)

print("合并完成并保存到 Excel 文件中的合并 sheet 中")
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Python中,可以使用pandas库来合并多个Excel文件并保留原格式。 首先,我们需要安装pandas库,可以使用以下命令在终端或命令提示符中安装: ``` pip install pandas ``` 然后,我们首先导入pandas库: ```python import pandas as pd ``` 接下来,我们使用pandas的`read_excel()`函数读取每个Excel文件,并将其存储为pandas的DataFrame对象: ```python excel_files = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx'] # 替换为你的Excel文件路径 dataframes = [] # 存储DataFrame对象的列表 for file in excel_files: df = pd.read_excel(file) # 读取Excel文件 dataframes.append(df) # 将DataFrame对象添加到列表中 ``` 然后,我们使用pandas的`concat()`函数将这些DataFrame对象合并一个DataFrame对象: ```python merged_df = pd.concat(dataframes) ``` 最后,我们可以使用pandas的`to_excel()`函数将合并后的DataFrame对象写入到一个新的Excel文件中: ```python merged_df.to_excel('merged_file.xlsx', index=False) # 替换为你想要保存的Excel文件路径 ``` 这样,我们就成功地将多个Excel文件合并并保留了原格式。 ### 回答2: 在Python中,可以使用第三方库openpyxl来实现合并多个Excel文件并保留原始格式。 首先,需要安装openpyxl库,可以使用pip命令进行安装:`pip install openpyxl` 接下来,可以使用openpyxl库打开每个Excel文件,并将它们逐个读取到一个新的Excel文件中。具体的步骤如下: ```python from openpyxl import load_workbook # 创建一个新的Excel文件 new_workbook = load_workbook() # 遍历每个要合并Excel文件 files = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx'] for file in files: # 打开要合并Excel文件 workbook = load_workbook(file) # 遍历每个工作表 for sheetname in workbook.sheetnames: # 获取每个工作表 sheet = workbook[sheetname] # 将工作表复制到新的Excel文件中 new_worksheet = new_workbook.create_sheet(title=sheetname) for row in sheet.iter_rows(): for cell in row: # 复制每个单元格的值和格式 new_cell = new_worksheet[cell.coordinate] new_cell.value = cell.value new_cell.font = cell.font new_cell.border = cell.border new_cell.fill = cell.fill new_cell.alignment = cell.alignment new_cell.number_format = cell.number_format new_cell.protection = cell.protection # 保存新的Excel文件 new_workbook.save('merged_file.xlsx') ``` 通过上述代码,我们可以将要合并Excel文件逐个打开,然后遍历每个工作表,将工作表逐行逐列复制到新的Excel文件中,并保留原始的格式。最后,保存新的Excel文件即可得到目标合并后的Excel文件。 ### 回答3: 在Python中,可以使用pandas库来合并多个Excel文件并保留其原始格式。 首先,我们需要导入pandas库,并使用read_excel函数来读取Excel文件。我们可以使用for循环来遍历所有的Excel文件,并将它们读取为数据框。 接下来,我们可以使用concat函数将所有的数据合并一个。在concat函数中,我们可以使用参数axis=0来指定纵向合并,即合并所有的行。如果要保留每个Excel文件的格式,可以使用参数keys来为每个Excel文件指定一个标签。 最后,我们可以使用to_excel函数将合并后的数据框保存为一个新的Excel文件。 以下是一个示例代码: ```python import pandas as pd # 定义要合并Excel文件列表 excel_files = ["file1.xlsx", "file2.xlsx", "file3.xlsx"] # 创建一个空列表,用于存储所有的数据框 dfs = [] # 遍历所有的Excel文件 for file in excel_files: # 读取Excel文件,并将其存储为数据框 df = pd.read_excel(file) # 将数据框添加到列表中 dfs.append(df) # 合并所有的数据框为一个 merged_df = pd.concat(dfs, keys=excel_files) # 保存合并后的数据框为一个新的Excel文件 merged_df.to_excel("merged_file.xlsx") ``` 通过以上代码,我们将多个Excel文件合并一个,并且保留了每个Excel文件的原始格式。合并后的数据可以保存为一个新的Excel文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值