繁体   English   中英

我如何从 csv 文件中获取 dict 作为 dict

[英]how do i get a dict as dict back from csv fille

你好,我想在我的 csv 文件中写一个字典,然后当我阅读它时将它作为字典取回我在一些 python 论坛中搜索并看到了这个“csv dictreader”,但我不知道如何正确使用它,所以我在这里问。 我是这样想象的,但这不起作用

x = open('file','w')
a = {}
a['hi'] = 'yes'
x.write(str(a))
x.close
x = open('file','r')
a = x.read()

然后我想把它作为 dict 拿回来

print(a['hi])

我这样做是为了测试它,但我只是得到一个字符串,我需要将它写为一个字符串,因为我无法在 csv 文件中编写 dicts 你有什么解决方案可以帮助我解决我的问题吗? 谢谢。

您可以使用 Python pickle模块。

在您的情况下,用法是:

# Write the dict
pickle.dump(a, open("file", "wb"))

# Read the dict
a = pickle.load(open("file", "rb"))

也许更好的解决方案是将文件写入 json fromat insted 的 csv 格式。 使用json.dumps将数据结构(例如带有整数的列表的 dict)转换为 json 表示(字符串)。 然后将其写入文件。 从文件中读取的内容(具有 json 表示的字符串)可以使用json.loads转换为数据结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM