如何解析以前保存的json

2024-04-26 21:05:59 发布

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

我已将熊猫数据帧保存到csv中,并将其读回。但我观察到json数据如下所示:

"[{u'f1': 1000, u'f2': 500}]"

我注意到使用json.loads不起作用。有人能帮忙回答为什么吗

  1. 它将u放在每个字段名前面
  2. 引号是交换的,因为我实验发现只有json.loads('[{"f1": 1000}]')有效,而不是json.loads("[{'f1': 1000}]")json.loads('[{"f1": 1000}]')

Tags: csv数据json引号f2f1字段名loads
1条回答
网友
1楼 · 发布于 2024-04-26 21:05:59

这不是JSON。这就是python2的字面语法。你知道吗

可以使用^{} function将其作为Python文本再次加载:

>>> import ast
>>> ast.literal_eval("[{u'f1': 1000, u'f2': 500}]")
[{u'f1': 1000, u'f2': 500}]

为您提供一个包含单个字典的Python列表;每个键都是一个unicode字符串对象;因为这些键只使用ASCII字符,所以您也可以使用常规字符串作为键来解决这些问题:

>>> result = ast.literal_eval("[{u'f1': 1000, u'f2': 500}]")
>>> result[0]
{u'f1': 1000, u'f2': 500}
>>> result[0]['f1']
1000

JSON将使用双引号并且在字符串前面没有前缀,而Pythonunicodestring对象可以使用'"(取决于内容)并且具有u前缀。还有其他的区别;Python使用TrueFalse,JSON小写为truefalse,Python中的None在JSON中是null。你知道吗

相关问题 更多 >