python调整excel列宽_python - 有没有一种方法可以使用pandas.ExcelWriter自动调整Excel列的宽度? - 堆栈内存溢出...

这篇博客介绍了如何使用Python的pandas和XlsxWriter库来自动调整Excel文件中列的宽度。文章提供了多个示例,包括通过循环遍历DataFrame的列并设置列宽,以及考虑列名长度的方法。此外,还提到了StyleFrame库和openpyxl库作为调整列宽的替代方案。
摘要由CSDN通过智能技术生成

===============>>#1 票数:32

# Given a dict of dataframes, for example:

# dfs = {'gadgets': df_gadgets, 'widgets': df_widgets}

writer = pd.ExcelWriter(filename, engine='xlsxwriter')

for sheetname, df in dfs.items(): # loop through `dict` of dataframes

df.to_excel(writer, sheet_name=sheetname) # send df to writer

worksheet = writer.sheets[sheetname] # pull worksheet object

for idx, col in enumerate(df): # loop through all columns

series = df[col]

max_len = max((

series.astype(str).map(len).max(), # len of largest item

len(str(series.name)) # len of column name/header

)) + 1 # adding a little extra space

worksheet.set_column(idx, idx, max_len) # set column width

writer.save()

===============>>#2 票数:21

我发布此消息是因为我遇到了同样的问题,发现Xlsxwriter和pandas的官方文档仍然将此功能列为不支持。 我凑在一起解决了我遇到的问题的解决方案。 我基本上只是遍历每列,并使用worksheet.set_column设置列宽==该列内容的最大长度。

但是,重要的一点。 此解决方案不适合列标题,仅适合列值。 这应该是一个容易的更改,但是,如果您需要改头,则可以。 希望这可以帮助某人:)

import pandas as pd

import sqlalchemy as sa

import urllib

read_server = 'serverName'

read_database = 'databaseName'

read_params = urllib.quote_plus("DRIVER={SQL Server};SERVER="+read_server+";DATABASE="+read_database+";TRUSTED_CONNECTION=Yes")

read_engine = sa.create_engine("mssql+pyodbc:///?odbc_connect=%s" % read_params)

#Output some SQL Server data into a dataframe

my_sql_query = """ SELECT * FROM dbo.my_table """

my_dataframe =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值