我的json与此类似:
{"Details": {
"id": "1423",
"StudentName": "xxxx",
"Joineddate" : "yyy",
"Personalinfo" : yyyy,ZZZZ,(xxx|pppp),rrrr
}}
我想将其存储为与此类似的数组
[0] --> yyyy
[1] --> ZZZZ
[2]
[0] ---> xxx
[1] ---> pppp
[3] --> rrrr
当它仅是一个定界符即comma(,)时,我可以使用以下代码实现它:
List = input.split(",")
lst = []
for var in List:
lst.append(var)
l_dict = json.loads(json.dumps(lst))
但是我不知道该怎么实现?
谁能帮我这个 ?
虽然我的答案是针对问题的输入123,456,(753,862),487
版本,但现在似乎已经进行了编辑,并且正在还原为原始版本。
这可能会为您提供所需的结构
>>> map(lambda x : float(x) if "(" not in x else map(float,x.strip("()").split(",")) ,re.findall("(\d+\.\d+|\(\d+,\d+\)|\(\d+\.\d+,\d+\.\d+\)|\d+)","123.123,456,(753,862),(123.2,234.5),487"))
[123.123, 456.0, [753.0, 862.0], [123.2, 234.5], 487.0]
否则您可以简单地使用
import ast
lst=list(ast.literal_eval("123,456,(753,862),487"))
您将获得这样的结构。
[0] --> 123
[1] --> 456
[2]
[3] [0] ---> 753
[3] [1] ---> 862
[4] --> 487
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句