Python 使用Pandas+删除索引上的边框;XLSX书写器

Python 使用Pandas+删除索引上的边框;XLSX书写器,python,excel,xlsxwriter,Python,Excel,Xlsxwriter,似乎xlsxwriter会自动在索引周围添加边框。写入数据后,如何删除边框?似乎当我尝试使用 worksheet.set_column('A:A', None, test_format) #test_format just makes borders = 0 它要么删除值,要么什么都不做 以下是一个示例设置: import xlsxwriter import pandas as pd # Create a test df df = pd.DataFrame({'Name': ['Tesla

似乎xlsxwriter会自动在索引周围添加边框。写入数据后,如何删除边框?似乎当我尝试使用

worksheet.set_column('A:A', None, test_format) #test_format just makes borders = 0 
它要么删除值,要么什么都不做

以下是一个示例设置:

import xlsxwriter
import pandas as pd

# Create a test df
df = pd.DataFrame({'Name': ['Tesla','Tesla','Toyota','Ford','Ford','Ford'],
                   'Type': ['Model X','Model Y','Corolla','Bronco','Fiesta','Mustang']})

df = df.set_index('Name').groupby('Name').apply(lambda x:x[:]) 


# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')

# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='test', startrow=1, merge_cells=True)

## Get the xlsxwriter objects from the dataframe writer object. Setting up xlsxwriter for formatting
workbook = writer.book
worksheet = writer.sheets['test']


writer.save()
df写入excel后,是否有任何应用格式的方法?或者改变索引格式

似乎xlsxwriter会自动在索引周围添加边框

严格来说,Pandas使用xlsxwriter(或openpyxl或xlwt)添加边框

似乎当我尝试使用像。。。它要么删除这些值,要么什么也不做

这是因为已经存在的单元格格式覆盖了列格式

通常的解决方法是关闭标题或索引,然后像这样指定自己的标题或索引


但是,在您的情况下,您有一个包含合并单元格的多索引,因此复制起来有点困难。

对于那些希望使用多索引解决此问题的人,您可以使用以下方法:

# changes row index format, 4 denotes the start row, 0 denotes the column
for row_num, value in enumerate(df.index.get_level_values(level=1)):
    worksheet.write(4+row_num , 0, value, FORMAT_OF_CHOICE)