【发布时间】:2018-03-11 16:38:12
【问题描述】:
假设我有一个以下文件:
{"id":"3234", "brand": "xyz", "binary":"fdsjl2j3jrl90i0ife"}
{"id":"4332", "brand": "abc", "binary":"hshgfdgfdsl90i0fsf"}
{"id":"2542", "brand": "wtr", "binary":"gfdgf22332l90i0ife"}
{"id":"9922", "brand": "kjl", "binary":"fdsjl23gssdsfwe223"}
当我运行以下函数时:
import json
filename = 'udata'
filename2 = 'odata'
#initialize list
records = []
#add records from the file to the list
with open(filename) as f:
for line in f:
print(json.loads(line))
records 用单引号('')而不是“”返回数据
{'id': '2542', 'brand': 'wtr', 'binary': 'gfdgf22332l90i0ife'}
{'id': '3234', 'brand': 'xyz', 'binary': 'fdsjl2j3jrl90i0ife'}
{'id': '4332', 'brand': 'abc', 'binary': 'hshgfdgfdsl90i0fsf'}
{'id': '9922', 'brand': 'kjl', 'binary': 'fdsjl23gssdsfwe223'}
想要的输出:
{"id":"3234", "brand": "xyz", "binary":"fdsjl2j3jrl90i0ife"}
{"id":"4332", "brand": "abc", "binary":"hshgfdgfdsl90i0fsf"}
{"id":"2542", "brand": "wtr", "binary":"gfdgf22332l90i0ife"}
{"id":"9922", "brand": "kjl", "binary":"fdsjl23gssdsfwe223"}
【问题讨论】:
-
这些在 Python 中的含义相同。如果你只是想打印出 JSON 原样,为什么要将它反序列化为 dict?
print(line) -
我不确定您的“问题”是什么。您没有在此代码中使用 json.dumps,而是使用 json.loads;之后它会正确显示 Python 数据结构。您认为这里有什么问题?
-
字典只包含字符串,没有嵌入引号。没有办法强制 python 显示带有特定引号字符的字符串。你为什么关心这个?
-
记录是空列表,你没有添加任何东西,为什么你认为它返回除了
[]之外的东西? -
我想使用 id 对它们进行排序并在不使用 pandas 的情况下输出到文件
标签: python json python-3.x