我知道当使用 python 将字典写入 csv 文件时,标题将按字母顺序排列。那么有没有一种方法可以按照我想要的顺序编写标题?
tsv 文件的代码和输出如下。
我有一个字典:
my_data = {"name": name[:], "city": city[:], "state": state[:],
"stars": stars[:], "review_count": review_count[:],
"main_category": new_cat[:]}
我使用以下代码将它们写入 csv 文件:
with open('test.tsv','w') as file:
writer = csv.writer(file, delimiter='\t')
writer.writerow(my_data.keys())
for row in zip(*my_data.values()):
writer.writerow(list(row))
tsv 文件输出的前几行如下:
city review_count name main_category state stars
Los Angeles 2 Southern California Medical Group Medical Centers CA 3.5
Cambridge 4 Harvard Square Shiatsu Massage MA 4.0
Kitchener 2 Faith & Glory Collective Tattoo ON 4.0
你可以看到它们是按字母顺序排列的,但我真正想要的是它们可以按照 my_data 中键的顺序排列,如下所示:
name city state stars review_count main_category
最佳答案
仅用于一条记录。
import csv
output=open('temp.csv', 'w')
outputCSV = csv.DictWriter(output, delimiter = '\t', \
fieldnames = [ 'name', 'city', 'state', 'stars', 'review_count', 'main_category' ] )
outputCSV.writerow( {
'name': 'Southern Cal Med Group',
'city': 'Los Angeles',
'state': 'CA',
'review_count': '2',
'main_category': 'medical',
'stars': '3.5',
} )
output.close()
关于python - 将 dict 写入 csv 文件,其中键不按字母顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40554081/