将字典保存到csv python

时间:2019-04-15 15:25:49

标签: python

嗨,当我尝试使用以下代码将字典保存到csv时:

with open(file, 'wb') as f:  # Just use 'w' mode in 3.x
    w = csv.DictWriter(f, my_dictionary.keys())
    w.writeheader()
    w.writerow(my_dictionary)

我收到此错误消息

TypeError: a bytes-like object is required, not 'str'

是否有此解决方法?

2 个答案:

答案 0 :(得分:2)

您以二进制模式打开了文件,因此只需删除b并放入w,我认为它应该可以工作。当以二进制模式打开文件时,这意味着从文件读取的所有数据都以字节的形式返回,而不是“ str”类型。因此,如果您想将b保留在那里,则需要将字节用于其他所有内容

答案 1 :(得分:1)

我认为这不是最佳做法。 如果您的目标只是将字典保存在csv中,则可以逐行存储字典,并以您喜欢的方式将键和值分开,

with open('/home/sebastiano/Desktop/test.txt', 'w+') as f: 
         for k, v in d.items(): 
             f.write('{}, {}'.format(k, v)) 

否则,您应该使用库泡菜,这样就可以完全重载为同一对象。