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

如何将Python嵌套字典写入Excel?输出缺少价格数据如何解决

问题原因

你的代码存在2个核心错误导致价格数据缺失:

  1. 遍历加密货币对应的嵌套字典时,直接遍历字典默认只会拿到键(也就是字符串GBP),没有拿到对应的价格数值
  2. workbook.close() 放在了第一层for循环内部,第一次遍历完BTC的数据就直接关闭了工作簿,后续所有币种的数据都不会被写入。

修复后代码

import xlsxwriter
workbook = xlsxwriter.Workbook('myfile.xlsx')
worksheet = workbook.add_worksheet()
row = 0
col = 0

crypto_price={'BTC': {'GBP': 39552.11}, 'ETH': {'GBP': 2639.38}, 'BNB': {'GBP': 321.8}, 'ADA': 
{'GBP': 1.665}, 'XRP': {'GBP': 0.7839}, 'SOL': {'GBP': 114.58}, 'DOT': {'GBP': 24.86}, 'DOGE': 
{'GBP': 0.1776}, 'UNI': {'GBP': 18.72}, 'AVAX': {'GBP': 44.54}}

order=sorted(crypto_price.keys())
for key in order:
    row += 1
    worksheet.write(row, col, key)
    # 直接获取GBP对应的价格写入
    price = crypto_price[key]['GBP']
    worksheet.write(row, col + 1, price)
# 所有数据写入完成后再关闭工作簿
workbook.close()

多币种适配写法(可选)

如果后续你的字典中每个币种对应多个法币价格,可以用以下写法遍历所有键值对:

for key in order:
    row += 1
    worksheet.write(row, col, key)
    current_col = col + 1
    # 同时获取法币类型和对应价格
    for currency, price in crypto_price[key].items():
        worksheet.write(row, current_col, price)
        current_col +=1
workbook.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:54:00