1
我正在从JSON中提取一组值并将它们写入文件。从JSON提取Python的值
的JSON格式如下:
"interactions": [
{
"type": "free",
"input": [
[ 1, 4594, 119218, 0, [71, 46], [2295, 1492], [71, 46], [2295, 1492], 16017, 520790446, [71, 46, 71, 46], [71, 46, 71, 46] ],
[ 1, 4594, 119219, 0, [72, 46], [2323, 1492], [72, 46], [2323, 1492], 26016, 520790456, [72, 46, 72, 46], [72, 46, 72, 46] ],
[ 1, 4594, 119220, 0, [72, 45], [2323, 1464], [72, 45], [2323, 1464], 26016, 520790466, [72, 45, 72, 45], [72, 45, 72, 45] ],
[ 1, 4594, 119221, 0, [72, 45], [2323, 1464], [72, 45], [2323, 1464], 26016, 520790476, [72, 45, 72, 45], [72, 45, 72, 45] ],
[ 1, 4594, 119222, 0, [73, 45], [2350, 1464], [73, 45], [2350, 1464], 26016, 520790486, [73, 45, 73, 45], [73, 45, 73, 45] ],
[ 1, 4594, 119223, 0, [73, 45], [2350, 1464], [73, 45], [2350, 1464], 26016, 520790496, [73, 45, 73, 45], [73, 45, 73, 45] ],
[ 1, 4594, 119224, 0, [73, 45], [2350, 1464], [73, 45], [2350, 1464], 46000, 520790506, [73, 45, 73, 45], [73, 45, 73, 45] ]
]
我需要什么来提取,是[71,46]列中,然后其与520790446开始列,并将其写入到输出文件。
下面是我在一分钟得到了代码:
import json
json_data = open("test_json.json")
data = json.load(json_data)
json_data.close()
# Need some sort of nested loop here to iterate through each line of the block, and each block also.
print data["interactions"][0]["input"][0][4], '\t', data["interactions"][0]["input"][0][9]
有几个可变长度的这些块,我需要提取所有的值,直到文件的末尾。虽然我被困在循环结构中。
任何人都可以协助吗?
我该如何去在[[交互]]上面([0])之后迭代块?我相信这是遍历整个JSON文件的块。此外,可以输出到一个.csv文件或类似的每行后面的换行符?例如“[71,46] 520790446”在每一行上。 – Matthew 2013-04-08 14:06:42
查看更新。最好问一个单独的问题输出数据或更好的仍然在这里搜索... – YXD 2013-04-08 14:13:47
http://stackoverflow.com/questions/899103/python-write-a-list-to-a-file – YXD 2013-04-08 14:14:33