You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用openpyxl设置Excel列保留6位小数精度?

解决DataFrame导出Excel后保留6位小数的问题

直接用openpyxl手动定义数值格式即可,步骤如下:

  • 先把DataFrame导出到Excel文件,指定openpyxl作为引擎
  • 加载导出的工作簿,自定义6位小数的格式代码
  • 给目标列的单元格应用这个格式

完整代码示例

import pandas as pd
from openpyxl import load_workbook
from openpyxl.styles import numbers

# 示例DataFrame
df = pd.DataFrame({'精度测试列': [11.123456, 22.789012, 33.012345]})

# 导出Excel,指定openpyxl引擎
df.to_excel('precision_test.xlsx', index=False, engine='openpyxl')

# 加载工作簿和工作表
wb = load_workbook('precision_test.xlsx')
ws = wb.active

# 定义6位小数的自定义格式:整数部分至少1位,小数部分固定6位
six_decimal_format = numbers.NumberFormat(format_code='0.000000')

# 给目标列应用格式(这里假设数值在B列,跳过表头行)
# 可根据实际列名/列号调整,比如ws['B'][1:]表示B列从第2行开始的所有单元格
for cell in ws['B'][1:]:
    cell.number_format = six_decimal_format

# 保存修改后的文件
wb.save('precision_test.xlsx')

格式代码说明

  • 0.000000:强制显示6位小数,即使末尾是0也会保留(比如11.12会显示为11.120000)
  • 如果想要仅显示有效小数(末尾0自动隐藏),可以改用格式代码0.######

内容的提问来源于stack exchange,提问作者dndschultz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:01:52