在python中将制表符分隔文件写为json对象

时间:2015-04-19 06:59:10

标签: python json

我有一个表格的制表符分隔文件:

123 91860   Sun Mar 16 08:06:25 +0000 2014  feeling terrible.
789 12139   Sun Mar 16 09:01:07 +0000 2014  children are the blessing of god.

现在我想把这个文件写成一个像这样的json对象:

{"data": [{"text": "feeling terrible.","id": 123},{"text": "children are the blessing of god","id": 678}]}

我想在python中编写代码:

import json
f=open("tree_0","r")
for line in f:
    lines=line.split('\n')
    data=lines[0].split("\t")
    id=str(data[0])
    text=str(data[3])

请告诉我如何在json中转储id和文本,以便获得所需的输出。

1 个答案:

答案 0 :(得分:4)

您可以执行以下操作:

import json
data={}
with open('data.txt', 'w') as outfile,open("tree_0","r") as f:
    for line in f:
       sp=line.split()
       data.setdefault("data",[]).append({"text": sp[-1],"id": sp[0]})
    json.dump(data, outfile)

您需要的只是循环遍历您的行并将其拆分,然后创建您期望的词典。您可以使用dict.setdefault方法执行此任务。

然后使用json.dump将您的数据写入文件!