Python 如何在不使用Pandas的情况下将字典写入制表符分隔的文件?

Python 如何在不使用Pandas的情况下将字典写入制表符分隔的文件?,python,csv,dictionary,Python,Csv,Dictionary,如何将以下字典写入以键作为列标题的制表符分隔的文件 迄今为止的代码: 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()

如何将以下字典写入以键作为列标题的制表符分隔的文件

迄今为止的代码:

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()
函数

我尽量不使用熊猫

需要大量字典。你只给了它一本字典,所以它正试图展开它

您可以通过将
test\u dict
包装在一个列表中来绕过它

writer.writerows([test_dict])
或者使用

需要大量词典的方法。你只给了它一本字典,所以它正试图展开它

您可以通过将
test\u dict
包装在一个列表中来绕过它

writer.writerows([test_dict])

或者使用方法函数
writerows
需要一个
dict
列表,而您只传递一个
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

函数
writerows
需要一个
dict
列表,而您只传递一个
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

.writerows
需要一组字典(在本例中,它试图在dict上迭代将产生键,并且由于这些键是stings而不是
dict
s,因此会出现错误)。。。所以要么给它,要么用单数形式
.writerow(test_dict)
.writerows
需要一组字典(在这种情况下,它试图在您的dict上迭代将产生键,并且由于这些键是stings而不是
dict
s,因此您会出现错误)。。。所以要么给它,要么用单数形式
.writerow(测试指令)