Excel xlwings vs pandas多索引数据帧本机导出:如何协调?

Excel xlwings vs pandas多索引数据帧本机导出:如何协调?,excel,pandas,export-to-excel,multi-index,xlwings,Excel,Pandas,Export To Excel,Multi Index,Xlwings,我将从一个图像开始,因为它清楚地解释了使用pandas native export和xlwings导出多索引的问题 基本上,我希望使用Xlwings完成“Pandasnative”结果[正确导出到excel的多索引],因为我有一系列Xlwings可以做的其他功能,而其他功能不能(不,即使使用ExcelWriter等,也不行,因为我必须清除工作表,并且在同一工作表中插入了一个非python的东西,初始化时也会清除) 使用的代码: import pandas as pd import numpy

我将从一个图像开始,因为它清楚地解释了使用pandas native export和xlwings导出多索引的问题

基本上,我希望使用
Xlwings
完成“
Pandas
native”结果[正确导出到excel的多索引],因为我有一系列
Xlwings
可以做的其他功能,而其他功能不能(不,即使使用
ExcelWriter
等,也不行,因为我必须清除工作表,并且在同一工作表中插入了一个非python的东西,初始化时也会清除)

使用的代码:

import pandas as pd
import numpy as np
import xlwings as xw
import os

arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
           ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]

tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
s = pd.DataFrame(np.random.randn(8, 8), index=index).transpose()
print(s)

# EXPORT

filename = 'format_excel_export.xlsx'
s.to_excel(filename)

outpath = os.path.join(os.path.abspath(os.path.dirname(__file__)), filename)
os.path.sep = r'/'
wb = xw.Workbook(outpath)

xw.Range('Sheet1', 'A13').value = s

您可以实现一个自定义转换器,以熊猫的方式对其进行格式化,请参见

但是,从v0.7.2开始,xlwings还不支持加粗字体、合并单元格和单元格边框。您可以通过返回pywin32(在Windows上)来解决此问题,请参阅

本质上,您的自定义转换器需要重写
write\u value
方法,请参阅

在某个时候将其构建到库中是有意义的,因此我打开了一个问题,请参阅