Python 2.7 如何将字典写入csv文件,每个';键:value';钥匙的序列号呢?

Python 2.7 如何将字典写入csv文件,每个';键:value';钥匙的序列号呢?,python-2.7,csv,dictionary,Python 2.7,Csv,Dictionary,我想将字典写入csv文件,每个“key:value”和密钥序列号对应一行 import csv dict = {"(2,3,4)" : '3', "(201,233,207)" : '23', "(176,247,207)" : '78'} w = csv.writer(open("data.csv", "w")) w.writerow(['xval'+ "\t" + 'yval']) for key, val in dict.items(): w.writerow([str(key)+

我想将字典写入csv文件,每个“key:value”和密钥序列号对应一行

import csv
dict = {"(2,3,4)" : '3', "(201,233,207)" : '23', "(176,247,207)" : '78'}
w = csv.writer(open("data.csv", "w"))
w.writerow(['xval'+ "\t" + 'yval'])
for key, val in dict.items():
    w.writerow([str(key)+ "\t" + str(val)])  
它创造了:

它不会创建以制表符分隔的列。我需要制表符分隔的列,还有一个带有序列号的额外列。 添加:
CSV数据表如下所示:

不要自己添加
'\t'
。相反,请使用
csv.writer
分隔符
参数

作为奖励,此代码:

  • 使用
    map
  • 使用
    newline=''
    打开文件,因为
    csv。writer
    倾向于添加换行符
在Excel或任何其他电子表格应用程序中打开文件时,请确保选择制表符作为分隔符


我很久没有使用Python2.7了。我希望这不会严重失败。

@DeepSpace请参阅我文章的新增部分。
import csv

d = {"(2,3,4)": '3', "(201,233,207)": '23', "(176,247,207)": '78'}

with open("data.csv", "w", newline='') as f:
    w = csv.writer(f, delimiter='\t')
    w.writerow(map(str, (0, 'xval', 'yval')))
    for counter, (key, val) in enumerate(d.items(), 1):
        w.writerow(map(str, (counter, key, val)))