python - 来自 CSV 库的 Python writerow() 抛出 KeyError
问题描述
我有以下代码,我正在尝试将字典的内容写入 CSV 文件。
import csv
my_dict = {
"Power outage": 3,
"System overload": 3,
"Pasta not aldente": 3,
"No internet": 2,
"No red marker": 1,
}
with open("testCsv.csv", "w", newline="") as file:
fieldnames = ["Type", "Count"]
writer = csv.DictWriter(file, delimiter=",", fieldnames=fieldnames)
writer.writeheader()
for k, v in my_dict.items():
writer.writerow({my_dict[k], my_dict[v]})
file.close()
当我运行该文件时,我收到以下错误,无法在线找到任何答案或提示。
Traceback (most recent call last):
File "csvWrite.py", line 17, in <module>
writer.writerow({my_dict[k], my_dict[v]})
KeyError: 3
解决方案
确保在写入 CSV 之前正确地遍历my_dict
并分配键值对。
import csv
my_dict = {
"Power outage": 3,
"System overload": 3,
"Pasta not aldente": 3,
"No internet": 2,
"No red marker": 1,
}
with open("testCsv.csv", "w", newline="") as file:
fieldnames = ["Type", "Count"]
writer = csv.DictWriter(file, delimiter=",", fieldnames=fieldnames)
writer.writeheader()
for key in my_dict:
writer.writerow({fieldnames[0]: key, fieldnames[1]: my_dict[key]})
file.close()
推荐阅读
- javascript - 如何替换 URL NodeJS 中的路径参数
- java - 如何在android中获取字段名称
- mongodb - 对来自 mongodb 查询的单个结果进行分组、计数和流式传输
- python - 在python中将字符串转换为unicode字符
- python - python中多个空格时的行拆分
- php - Laravel Sanctum:未找到列:1054 'where 子句'中的未知列'api_token'
- node.js - 索引新文档并在同一查询中获取索引文档
- node.js - 带有 babel 的 tinymce:UnhandledPromiseRejectionWarning(调用 EmberJS npm start 时)
- c# - 使用 GetGlobalResourceObject 的资源信息值为空
- javascript - 未捕获范围错误:字符串长度无效 - Tableau JS API