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

Python如何将返回的字典列表正确解析写入CSV文件

CSV仅写入表头无法导出实际数据问题修复

核心错误点

  • 数据集取值错误:原代码keywords = output['keywords']['word']['count']写法完全错误,output['keywords']本身就是存储所有词频字典的列表,列表不支持用字符串键做索引,这行运行就会抛类型错误,后续遍历数据的逻辑根本跑不起来,所以文件里只会留下提前写入的表头。
  • 循环逻辑语法错误:原代码循环内写的keyword = keywords(["word"], keywords["count"])有明显语法问题,既错把列表当函数调用,又尝试对整个关键词列表取count键,根本提取不到单条数据的字段值。
  • 写入参数不符合要求:原代码没有按writerow的参数要求,按顺序提取单条数据的word、count值组成序列,就算循环能正常执行,也写不出正确的业务数据。

修复后可直接运行的代码

import csv

site = 'https://www.microblink.com'
output = analyze(site)
# 直接获取存储所有词频字典的列表
keywords = output['keywords']
fields = ['word', 'count']

with open('mbtest.csv', 'w', newline='', encoding='utf-8') as csv_file: 
    csvwriter = csv.writer(csv_file)
    # 写入表头行
    csvwriter.writerow(fields)
    # 遍历每条词频数据
    for keyword_item in keywords:
        # 按表头顺序拼接行数据
        current_row = [keyword_item['word'], keyword_item['count']]
        csvwriter.writerow(current_row)

更简便的字典写入方案

如果不想手动拼接每行的字段顺序,可以直接用CSV模块内置的DictWriter适配字典结构写入,代码更简洁不易出错:

import csv

site = 'https://www.microblink.com'
output = analyze(site)
keywords = output['keywords']
fields = ['word', 'count']

with open('mbtest.csv', 'w', newline='', encoding='utf-8') as csv_file:
    # 初始化字典写入器,指定字段顺序
    csvwriter = csv.DictWriter(csv_file, fieldnames=fields)
    # 自动写入表头
    csvwriter.writeheader()
    # 一次性写入所有字典数据
    csvwriter.writerows(keywords)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 08:27:19