python unique_rows.to_excel 设置单元格宽度根据内容自适应

要在使用pandasto_excel方法保存DataFrame时根据内容自适应列宽,你需要在保存后使用openpyxl库手动调整列宽。以下是一个示例:


python

import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows

# 假设unique_rows是你的DataFrame
unique_rows = ...

# 先使用pandas保存数据到Excel
with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer:
    unique_rows.to_excel(writer, sheet_name='Sheet1', index=False)

# 使用openpyxl加载刚才保存的Excel文件
wb = load_workbook('output.xlsx')
ws = wb.active

# 自适应调整列宽
for column_cells in ws.columns:
    length = max(len(str(cell.value)) for cell in column_cells if cell.value is not None)
    ws.column_dimensions[column_cells[0].column_letter].width = length + 2  # 可以根据需要调整额外的宽度

# 保存调整后的Excel文件
wb.save('output.xlsx')

print("Excel文件已保存,列宽已根据内容自适应调整。")

这段代码首先用pandas保存DataFrame到Excel文件,然后通过openpyxl重新打开文件并遍历每一列,根据每列中最长的字符串长度调整列宽。这里简单地将长度加2作为列宽,你可以根据实际情况调整公式以满足特定的宽度需求。注意,此方法主要适用于文本内容,对于数字或日期等格式,可能需要进一步的处理来准确适应其显示需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三希

如果这篇文章帮您解决了技术难题

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值