如何在python中将这个字符串转换成dict?

2024-10-01 07:34:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个从mongodb导出到csv的字符串:下面是一个示例:

[{"group":"Most Common","id":"00000000000002","name":"HVAC Specialists","name_singular":"HVAC Specialist"},{"group":"Other","id":"00000000001","name":"Hauling \u0026 Junk Removers","name_singular":"Hauling \u0026 Junk Remover"}]

我正试着把日期写进字典里,这样我就可以把我需要的东西拿出来导出。你知道吗

我试着把它放进一个列表中,但它从每个字母中创建了元素。你知道吗

字符串在txt文件中,我这样称呼它:

python stringwork.py thestring.txt

我看到this question并尝试了以下方法:

from sys import argv
import json

# filename = argv

txt = open(argv[1])

json.loads(str(txt))

我犯了以下错误。你知道吗

ValueError: No JSON object could be decoded

Tags: csv字符串nameimporttxtidjsonmongodb
2条回答

你在这里有点困惑:

txt = open(argv[1])
json.loads(str(txt))

在此之后,txt是一个文件对象,而不是实际的字符串。你知道吗

为此,您需要执行以下操作:

txt = open(argv[1]).read()
json.loads(txt)

这里txt已经是一个包含文件内容的字符串,因此不需要str。你知道吗

一定要检查documentation读/写文件。你知道吗

txt变量是文件对象,不能转换为字符串。因此您应该读取file对象的内容,例如txt = open(argv[1]).readlines()。然后可以使用txt[0]获得txt列表中的字符串。你知道吗

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from sys import argv
import json

filename = argv

txt = open(argv[1]).readlines()

a = json.loads(str(txt[0]))
print(a)

相关问题 更多 >