我目前写了一个python脚本,它将数据从excel文件分割到不同的表中,并将数据存储在新的excel文件中。到目前为止,一切都正常,但我发现了一个我不太理解的问题。在我的脚本末尾,我想格式化我的目标excel文件的列。我所做的是计算每一列的最大大小,并将其保存在一个变量中,然后调用"set_column“函数,如下所示:
format = writer.book.add_format({'text_wrap': True, 'align': 'left', 'valign': 'top'})
for column in df:
writer.sheets[sheet_name].set_column(idx, idx, col_len, format)它对每一列都很有效,但第一列除外。在第一列中,我以用户定义的格式编写了日期。其他每一列都能完美地工作。
如果我调试并检查第一列是否也在循环中格式化,那么是的。我真的不理解这种不端行为。有没有人能帮帮忙?
非常感谢!SkiD
发布于 2021-11-10 12:26:24
就我个人而言,我使用reset_index()将索引添加为列,并在使用.to_excel()时使用index=False参数,这应该适用于您的列格式。
示例:
df.reset_index()
writer = pd.ExcelWriter(('file_name.xlsx'), engine='xlsxwriter')
df.to_excel(writer, 'Example Sheet', index=False)注意:这不适用于多索引数据帧
您也可以尝试
pandas.io.formats.excel.ExcelFormatter比如
import pandas.io.formats.excel
pandas.io.formats.excel.ExcelFormatter.header_style = Nonehttps://stackoverflow.com/questions/69913193
复制相似问题