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(测试指令)
?