关于openpyxl使用delete_cols函数时出现错位,该怎么解决

img

img

在第一张表里,列是一个多级索引列,由于之后我想将这个表按照某个列进行排序,每行的索引就会被打乱,因此我想把第一列删掉,使用delete_cols这个函数后其他地方都还可以,但是有合并单元格的就会出现错位的现象,如图二,请问该怎么解决

生成第一张表的代码大概长下面这样

import pandas as pd
data = {
    ('col1', '1-1') : ['a', 'b', 'c'],
    ('col1', '1-2') : ['2', '1', '3'],
    ('col2', '2-1'): ['d', 'e', 'f'],
    ('col2', '2-2'): ['4', '5', '6'],
}
df  = pd.DataFrame(data)
df = df.sort_values(('col1', '1-2'))
df.to_excel('1.xlsx')

删除第一列的代码如下:


import openpyxl
wb = openpyxl.load_workbook('1.xlsx')
sname = wb.sheetnames
ws = wb[sname[0]]
ws.delete_cols(1,1)
wb.save('1.xlsx')

我考虑过生成第一张excel时,生成不带索引的excel,但是会报错,我用的代码如下:
最后一句改为df.to_excel('1.xlsx', index = False)

错误如下:

img

请问该怎么解决这个问题,生成不带行索引的excel,或者删除某列时不会出现错位现象