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

Python将字典写入Excel单个单元格:非pandas实现及效率对比

问题解答

1. pandas方案是否为效率最优选择?

不是。
你当前的需求属于极轻量的Excel写入场景,仅需要写入2行2列的少量数据,pandas作为重型数据分析库,本身加载、构造DataFrame的过程会产生大量不必要的性能开销,冗余依赖(如numpy)也会增加部署成本。只有当你需要批量处理上万行、做复杂数据转换的场景下,pandas的性能优势才会体现,你的存档场景用pandas属于过度设计。

2. 无pandas依赖的实现方法

你可以直接用pandas底层调用的openpyxl库完成写入,逻辑更简单、性能更高:

import datetime
from openpyxl import Workbook

my_dict = {
    'key1':         'MOCK-12345-67890:09876', 
    'key2':         'MOCK-abcdef-ghijklmnop',
    'key3':         datetime.datetime.now(),
    'key15':    15029.62946216,
    'key16':    [ 'MOCK-1', 'MOCK-2' ],
    'info': {
        'key_sub_1': 3934823,
        'key_sub_25': 'MOCK-A'
        },
    }

# 创建工作簿和工作表
wb = Workbook()
ws = wb.active
ws.title = "Sheet 1"

# 写入表头
ws['A1'] = 'Col1'
ws['B1'] = 'Col2'

# 写入数据,直接把字典转字符串写入A2单元格
ws['A2'] = str(my_dict)
ws['B2'] = 'something wonderful'

# 保存文件
wb.save('delme1.xlsx')

方案优势

  • 依赖更轻:仅需要安装openpyxl,不需要引入pandas、numpy等重型依赖,部署包体积可减少90%以上
  • 速度更快:省去了DataFrame构造、pandas内部格式转换的流程,小数据量场景下运行速度提升5~10倍
  • 逻辑更直观:直接操作单元格,不需要理解pandas的IO接口逻辑,后续调整也更灵活

如果你后续需要把单元格里的字符串转回Python字典,可以用ast.literal_eval()方法解析,比eval()更安全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:57:03