【发布时间】:2017-02-15 00:04:56
【问题描述】:
我正在使用 xlsxwriter 和 set_column 函数来格式化我的 excel 输出中的列。
但是,当应用于索引列(或多索引情况下的索引列)时,格式似乎被忽略了。
我找到了一种解决方法,到目前为止是使用 reset_index 引入一个假索引,然后将 index=False 传递给 to_excel 函数,然后是多索引也将消失。
有什么想法吗?
import pandas as pd
import numpy as np
from Config import TEMP_XL_FILE
def temp():
' temp'
pdf = pd.DataFrame(np.random.randn(6,4), columns=list('ABCD'))
pdf.set_index('A', drop=True, inplace=True)
writer = pd.ExcelWriter(TEMP_XL_FILE, engine='xlsxwriter')
pdf.to_excel(writer, 'temp')
workbook = writer.book
worksheet = writer.sheets['temp']
tempformat = workbook.add_format({'num_format': '0%', 'align': 'center'})
worksheet.set_column(-1, 3, None, tempformat)
writer.save()
if __name__ == '__main__':
temp()
【问题讨论】:
-
您能提供给我们您的代码吗?
-
在 XlsxWriter 和 Excel 中,单元格格式覆盖行格式覆盖列格式。在这种情况下,Pandas 将单元格格式(合并)应用于索引单元格,因此
set_column()格式没有效果。我认为无法通过 API 覆盖或设置 Panda 的索引格式(datetime_format和date_format除外),
标签: python excel pandas xlsxwriter