自动识别'col1'列中的元素相同的项, 将它们分别合并单元格, 保存为xlsx格式工作簿

_LEON_

关注

阅读 34

2023-09-02

df = pd.DataFrame({'col1': ['a', 'a', 'b', 'a'], 'col2': range(4)})

请实现以下步骤

(1) 将df按'col1'列排序

(2) 自动识别'col1'列中的元素相同的项, 将它们分别合并单元格, 保存为xlsx格式工作簿

# 创建DataFrame
df = pd.DataFrame({'col1': ['a', 'a', 'b', 'a'], 'col2': range(4)})

# (1) 按'col1'列排序
df.sort_values(by='col1', inplace=True)

# (2) 合并相同元素的单元格并保存为xlsx格式工作簿
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows

# 创建一个新的工作簿
wb = Workbook()
ws = wb.active

# 将DataFrame转换为行
rows = list(dataframe_to_rows(df, index=False, header=True))

# 删除工作簿默认创建的第一行空行
del rows[0]

# 写入数据到工作簿
for r_idx, row in enumerate(rows, 1):
    for c_idx, value in enumerate(row, 1):
        cell = ws.cell(row=r_idx, column=c_idx, value=value)

# 保存工作簿为xlsx格式
wb.save('merged_data.xlsx')

这将创建一个新的xlsx格式工作簿,其中相同元素的单元格已经合并在一起,并且按'col1'列排序。工作簿将被保存在当前工作目录下,并命名为'merged_data.xlsx'。您可以根据需要修改文件名和保存路径。

精彩评论(0)

0 0 举报