首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pandas.DataFrame -集列宽度

pandas.DataFrame -集列宽度
EN

Stack Overflow用户
提问于 2022-11-07 21:35:35
回答 2查看 113关注 0票数 0

我希望将列宽度设置为该列中的最大字符串长度,实际上,我希望调整该列的宽度。

这是我的代码:

代码语言:javascript
运行
复制
styler = df.style 
for column in df:
    column_length = df[column].astype(str).str.len().max()
    #styler.set_properties(subset=[column], **{'width': '200px'})
    styler.set_properties(subset=[column], **{'width': str(column_length)+'px'})
 

styler.to_excel('C:/Users/test.xlsx', index=False)

导出的excel文件中没有设置列宽,我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-07 23:04:08

如果有人有同样的问题,这里是解决办法:

代码语言:javascript
运行
复制
writer = pd.ExcelWriter('C:/Users/test.xlsx')

styler.to_excel(writer, sheet_name='report', index=False)

for column in df:
   column_length = max((
        df[column].astype(str).str.len().max(),  # len of largest item
        len(str(df[column].name))  # len of column name/header
        )) + 1  # adding a little extra space
    col_idx = df.columns.get_loc(column)
    writer.sheets['report'].set_column(col_idx, col_idx, column_length)

writer.save()
票数 0
EN

Stack Overflow用户

发布于 2022-11-07 21:45:10

您可以使用pandas.options.display.max_colwidth = ...并设置最大长度。

若要设置导出的excel列宽度,请参阅此堆栈溢出页here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74353197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档