python - Python 只将字典的键写入 csv 文件
问题描述
该代码从输入中获取名称和密码的输入,然后将用户名和密码转换为字典
dicReg = {username: pw}
当我现在打印 dicReg 时,我得到了一个普通的字典。
{'foo': 'bar'}
现在我想将字典添加到 csv 文件中,代码运行时没有任何错误
with open('data.csv', 'a') as fp:
writer = csv.DictWriter(fp, dicReg)
writer.writerow(dicReg)
但是当我稍后打开 csv 文件时,它只显示字典的键
输出示例:
{'foo': 'bar'}
{'spam': 'eggs'}
解决方案
您只能使用 获取字典值.writerow()
。要将键作为标题行,请使用.writeheader()
:
import csv
dicReg = {'foo':'bar','foo2':'bar2'}
with open('data.csv','w',newline='') as fp:
writer = csv.DictWriter(fp,dicReg)
writer.writeheader()
writer.writerow(dicReg)
输出:
foo,foo2
bar,bar2
相反,如果您希望将键和值作为列,则不需要 DictWriter:
import csv
dicReg = {'foo':'bar','foo2':'bar2'}
with open('data.csv','w',newline='') as fp:
writer = csv.writer(fp)
for k,v in dicReg.items():
writer.writerow([k,v])
输出:
foo,bar
foo2,bar2
推荐阅读
- ios - 检查字体只是粗体而不是额外粗体、半粗体或任何其他粗体
- ruby-on-rails - 如何克隆哈希数组并使用每个循环添加键值
- python - 从 Panda Dataframe 中提取内容
- c# - 在 .NET Framework 项目的 Azure 管道中生成的 NuGet 依赖项版本不正确
- html - 是否有适用于 Firefox 和 Chrome 的 CSS 分栏解决方案
- azure - 如果事件是批处理的,则 Azure 事件网格成本核算
- android - Sweet Alert Dialog 的确认按钮显示太细
- python - 如何更新 StyleFrame 值?
- css - justify-content 问题,align 有效但不合理?
- python - MovieWriter ffmpeg 不可用;试图使用
反而