python - 如何在不使用 Pandas 的情况下将字典写入制表符分隔的文件?
问题描述
如何将以下字典写入以键作为列标题的制表符分隔文件?
到目前为止的代码:
import csv
test_dict = {"A": 1, "B": 2, "C": 3}
with open("output_file.txt", 'w') as f:
writer = csv.DictWriter(f, fieldnames = list(test_dict.keys()), delimiter = '\t')
writer.writeheader()
writer.writerows(test_dict)
我不断收到错误
AttributeError: 'str' object has no attribute 'keys'
与writerows()
功能有关。
我试图不使用熊猫。
解决方案
该函数writerows
需要一个列表,dicts
而您只传递一个dict
.
修改代码如下:
import csv
test_dict = {"A": 1, "B": 2, "C": 3}
with open("output_file.txt", 'w') as f:
writer = csv.DictWriter(f, fieldnames = list(test_dict.keys()), delimiter = '\t')
writer.writeheader()
writer.writerows([test_dict]) #passing an list of dicts
您可以使用该函数writerow
而不是writerows
将单行写入文件。
import csv
test_dict = {"A": 1, "B": 2, "C": 3}
with open("output_file.txt", 'w') as f:
writer = csv.DictWriter(f, fieldnames = list(test_dict.keys()), delimiter = '\t')
writer.writeheader()
writer.writerow(test_dict) #passing single row
推荐阅读
- apache-spark - 使用 Spark 将句子编码为序列模型
- wordpress - 如何将 wordpress 与 SCM 进行良好的集成?
- r - R 计数组计数,如果缺少 n NA 则删除
- arrays - useState setter 方法不更新数组
- c++ - 根据内容动态调整 qwidget 和 qlayout 的大小
- java - 获取节点及其特定子节点
- amazon-web-services - 如何使用非排序键参数的排序和限制查询 DynamoDB?
- javascript - 具有异步功能的有状态 React 组件未通过 Jest 测试
- asp.net-mvc - MVC 多表 SQL 问题。什么是最佳实践
- c# - IIS8 WebApi 奇怪问题