df保存为excel

df保为excel

pandas的dataframe保存为excel,设置列宽,行高和自动换行。

python 复制代码
from openpyxl.styles import Alignment, Font
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.workbook import Workbook


def save_excel(df, filename, col_width=50, row_height=40):
    wb = Workbook()
    ws = wb.active
    # 设置表头字体为加粗
    bold_font = Font(bold=True)
    # 将DataFrame写入Excel工作表
    for r_idx, row in enumerate(dataframe_to_rows(df, index=False, header=True)):
        for c_idx, value in enumerate(row, 1):
            cell = ws.cell(row=r_idx + 1, column=c_idx, value=value)
            # 设置表头加粗
            if r_idx == 0:
                cell.font = bold_font
            # 设置单元格的换行功能
            cell.alignment = Alignment(wrap_text=True)
    # 调整列宽
    for col in ws.columns:
        column = col[0].column_letter
        ws.column_dimensions[column].width = col_width
    # 调整行高
    for row in ws.iter_rows():
        for cell in row:
            if cell.row > 1:  # 不调整第一行(表头)
                ws.row_dimensions[cell.row].height = row_height
    # 保存Excel文件
    wb.save(filename)
相关推荐
m0_748554812 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
smj2302_796826523 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
阿正呀3 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
2501_901200533 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
_.Switch4 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
Mr_sst4 小时前
Claude Code 部署与使用保姆级教程(2026 最新)
python·ai
瞎某某Blinder4 小时前
DFT学习记录[6]基于 HES06的能带计算+有效质量计算
python·学习·程序人生·数据挖掘·云计算·学习方法
m0_495496415 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume5 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
Aleeeeex5 小时前
RAG 那点事:从 8 份企业文档到能用的问答系统,全过程拆给你看
人工智能·python·ai编程