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

Python将CSV文件转换为字典格式文件时报AttributeError错误咨询

错误原因
  1. 语法报错的直接原因:你调用dict_writer_obj.writerows(file)时传入的是原始文件对象,迭代文件对象得到的是每一行的字符串,而csv.DictWriter.writerows()要求传入的可迭代对象的元素必须是字典类型,字符串不存在keys属性,因此触发AttributeError: 'str' object has no attribute 'keys'报错。
  2. 逻辑使用错误:你的需求是输出每行Python字典的字面量格式,但是csv.DictWriter的作用是将字典转换为逗号分隔的普通CSV行,完全不符合你的输出预期,不需要使用这个类。
解决方法

直接遍历csv.DictReader返回的字典对象,将其转换为字符串后逐行写入目标文件即可,修正后代码如下:

import csv

with open('temp.csv', 'w', encoding='utf-8') as temp_file:
    with open('dictReader.csv', 'r', encoding='utf-8') as src_file:
        # 读取源CSV为字典迭代器
        dict_reader = csv.DictReader(src_file)
        for row in dict_reader:
            # 直接将字典转为字符串写入,加换行符
            temp_file.write(f"{row}\n")

运行上述代码后,temp.csv的内容就和你期望的输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:54:02