python dataframe合并单元格后写入excel

1、以dataframe读取excel内容

import pandas as pd
df = pd.read_excel(r"C:\Users\Administrator\Desktop\1.xlsx",sheet_name='Sheet2')
print(df)

 

2、需要如何合并

 3、合并单元格,写入excel

from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
import pandas as pd

def to_merge(df):
    # 按照第一列id进行每行单元格合并
    # id列去重,确定一列需要合并成几个值
    df_key = list(set(df['id'].values))
    wb = Workbook()
    ws = wb.active
    # 将每行数据写入ws中
    for row in dataframe_to_rows(df, index=False, header=True):
        ws.append(row)
    #   遍历第一列去重后id
    for i in df_key:
        # 获取id等于指定值的几行数据
        df_id = df[df.id == i].index.tolist() # 索引值从0开始
        for j in range(1, 3):# 遍历 需要合并两列,openyxl中,读excel等的序号都是从1开始,所以合并两列,需要遍历range(1, 3),取j=1,j=2
            ws.merge_cells(start_row=df_id[0] + 2, end_row=df_id[-1] + 2, start_column=j, end_column=j) # 序号从1开始,所以行序号需要加2

    excel_name = "C:/Users/Administrator/Desktop/2.xlsx"
    wb.save(excel_name)
    # 保存writer中的数据至excel
    # 如果省略该语句,则数据不会写入到上边创建的excel文件中
    print('导入成功!')

df = pd.read_excel(r"C:\Users\Administrator\Desktop\1.xlsx",sheet_name='Sheet2')
to_merge(df)

 最终结果:

### 使用 Python Pandas 将 DataFrame 写入 Excel 文件 Pandas 提供了 `to_excel` 方法来将数据框 (DataFrame) 数据保存到 Excel 文件中。此功能允许指定多个参数来自定义输出,如工作表名称、起始行列位置等。 #### 基本语法 以下是 `to_excel` 的基本调用方式及其主要参数说明: ```python import pandas as pd # 创建一个简单的 DataFrame 实例 data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]} df = pd.DataFrame(data) # 定义 ExcelWriter 对象并设置目标文件路径 with pd.ExcelWriter('output.xlsx') as writer: # 调用 to_excel 函数写入数据至指定的工作表内 df.to_excel(writer, sheet_name='Sheet1') ``` 上述代码创建了一个名为 "output.xlsx" 的新 Excel 文件,并在一个叫作 "Sheet1" 的工作表里存储了给定的数据帧内容[^3]。 对于更复杂的场景,比如向已存在的 Excel 文件追加数据,则可以采用如下做法: ```python from openpyxl import load_workbook def temp_excel_writer(file_path, workbook): """辅助函数用于处理已有 Excel 文件""" with pd.ExcelWriter( file_path, mode="a", # 追加模式 if_sheet_exists="overlay", engine="openpyxl" ) as writer: my_df.to_excel(writer, sheet_name="ExistingSheet") temp_excel_writer('my_excel_file.xlsx', book) ``` 这段脚本展示了如何打开现有文件并在不覆盖原有内容的情况下添加新的表或更新特定单元中的信息[^1]。 当完成所有操作后,可以通过打印消息确认成功与否: ```python print('DataFrame is written successfully to the Excel File.') ``` 这有助于调试过程中验证是否正确执行了写入命令[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值