ahm*_*has 4 python arrays json
我有一个巨大的文本文件.
line 1
line 2
line 3
...
Run Code Online (Sandbox Code Playgroud)
我已将其转换为列表数组:
[['String 1'],['String 2'],['String 3'],['String 4'],['String 5'],
['String 6'],['String 7'],['String 8'],['String 9'],['String 9'],
['String 10'], ...]
Run Code Online (Sandbox Code Playgroud)
我想将此列表转换为JSON对象,如下所示:
[{'title1': 'String 1', 'title2': 'String 2', ... , 'title7': 'String 7'},
{'title1': 'String 8', ..., 'title7': 'String 14'}, ...]
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做.任何帮助.?
只需添加到alexce的响应,您就可以轻松地将重构的数据转换为JSON:
import json
json.dumps(result)
Run Code Online (Sandbox Code Playgroud)
顶级阵列存在一些潜在的安全问题.我不确定它们是否仍适用于现代浏览器,但您可能需要考虑将其包装在对象中.
import json
json.dumps({'results': result})
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,您需要将输入列表拆分为 chunk,在您的情况下按 7 拆分。为此,我们使用这种方法。然后,使用列表理解生成字典列表:
>>> from pprint import pprint
>>> l = [['String 1'],['String 2'],['String 3'],['String 4'],['String 5'],
... ['String 6'],['String 7'],['String 8'],['String 9'],['String 10'],
... ['String 11']]
>>> def chunks(l, n):
... """Yield successive n-sized chunks from l."""
... for i in range(0, len(l), n):
... yield l[i:i+n]
...
>>>
>>> result = [{"title%d" % (i+1): chunk[i][0] for i in range(len(chunk))}
for chunk in chunks(l, 7)]
>>> pprint(result)
[{'title1': 'String 1',
'title2': 'String 2',
'title3': 'String 3',
'title4': 'String 4',
'title5': 'String 5',
'title6': 'String 6',
'title7': 'String 7'},
{'title1': 'String 8',
'title2': 'String 9',
'title3': 'String 10',
'title4': 'String 11'}]
Run Code Online (Sandbox Code Playgroud)