首页 > 解决方案 > 如何在不使用 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()功能有关。

我试图不使用熊猫。

标签: pythoncsvdictionary

解决方案


该函数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

推荐阅读