python-从txt文件到字典再到json
我想把一个文件转换成json。 该文件的格式为:python-从txt文件到字典再到json,python,json,python-3.x,dictionary,Python,Json,Python 3.x,Dictionary,我想把一个文件转换成json。 该文件的格式为: Temp=24.0* Humidity=41.0% Date=02/01/17-20:37 Temp=24.0* Humidity=42.0% Date=02/01/17-20:38 Temp=24.0* Humidity=42.0% Date=02/01/17-20:39 我正在使用以下代码: list = {} with open("record.txt") as f: for line in f: if not ("Faile
Temp=24.0* Humidity=41.0% Date=02/01/17-20:37
Temp=24.0* Humidity=42.0% Date=02/01/17-20:38
Temp=24.0* Humidity=42.0% Date=02/01/17-20:39
我正在使用以下代码:
list = {}
with open("record.txt") as f:
for line in f:
if not ("Failed" in line):
lists = line.split(" ")
for l in lists:
ll = dict([l.split("=")])
// print(json.dumps(ll))
list.update(ll)
当我打印创建的词典时,我得到了
>>> print (list)
{'Temp': '29.0*', 'Humidity': '31.0%', 'Date': '15/07/17-10:56\n', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Temp': '21.0*'}
我不明白为什么。有人知道我为什么没有整本字典吗
在转换为json之前,我还将通过新行
/n
与子字典分离。这可能吗?您可以创建一个这样的词典列表,然后可以进行任何修改
list = {}
complete_list=[]
with open("record.txt") as f:
for line in f:
if not ("Failed" in line):
lists = line.split(" ")
lists[-1] = lists[-1].strip() #it should remove the \n at the end.
for l in lists:
ll = dict([l.split("=")])
// print(json.dumps(ll))
list.update(ll)
complete_list.append(list)
您的输入文件包含三次相同的唯一键集,因此Python中的对应表示形式(可以序列化为JSON)是一个字典数组 尝试对代码进行以下更改:
列表=[]
将open(“record.txt”)作为f:
对于f中的行:
如果没有(第行中的“失败”):
lists=line.rstrip().split(“”)
ll={}
对于列表中的l:
k、 v=l.split(“=”)
ll[k]=v
list.append(ll)
如果你这样做:
打印列表
你应该得到:
打印列表
[{'Date':'02/01/17-20:37','Temp':'24.0*','湿度':'41.0%},{'Date':'02/01/17-20:38','Temp':'24.0*','湿度':'42.0%},{'Date':'02/01/17-20:39','Temp':'24.0*,'湿度':'42.0%}]
然后,您可以使用以下命令转储到JSON:
导入json
json.dumps(列表)
“[{”日期“:“02/01/17-20:37”,“温度“:“24.0*”,“湿度“:“41.0%”,{”日期“:“02/01/17-20:38”,“温度“:“24.0*”,“湿度“:“42.0%”,},{”日期“:“02/01/17-20:39”,“温度“:“24.0*”,“湿度“:“42.0%””
您正在覆盖每个迭代中的值。。