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'。您可以根据需要修改文件名和保存路径。