我正在尝试解析100多个json文件,但是我不需要所有信息。 我只需要解析第一组“坐标”,CSV已经打印了URL和URL类型,但是我无法打印第一组坐标。
这是Json文件的一部分
{
"type":"featureCollection",
"features" : [
{
"type": "feature",
"geometry": {
"type": "multilinestring",
"coordinates":[
[
[
148.9395348,
-21.3292286
],
[
148.93963,
-21.33001
],
[
148.93969,
-21.3303
]
]
]
},
"properties":{
"url" :"www.thiswebpageisfake.com",
"url_type":"fake"
},
"information":{
"timestamp":"10/10/19"
}
}]
}
我正在使用python 2.7,我尝试为坐标创建数组,但是类型错误
import os
import csv
import json
import sys
reload(sys)
file_path = 'C:\\Users\\user\\Desktop\\Python\\json'
dirs = os.listdir(file_path)
file_out = 'C:\\Users\\user\\output.csv'
f = csv.writer(open(file_out, "wb+"))
f.writerow(
['url','url_type','lat','long'])
for file in dirs:
json_dict = json.loads(open(os.path.join(file_path, file)).read())
print file
for key in json_dict['features']:
for key1 in key:
description = key['properties']['description']
if description is None:
description = 'null'
array = ()
array = (key['geometry']['type']['coordinates'])
f.writerow([file,
key['properties']['url'],
key['properties']['url_type'],
array[1]
])
print 'completed'
答案 0 :(得分:0)
首先,看起来您的第二个循环应该嵌套在第一个循环中,否则,除了最后一个循环外,您将对所有json文件不做任何事情,并且最终只能处理一个文件。
第二,您的数组应定义为array = (key['geometry']['coordinates'])
,因为'coordinates'
中不包含'type'
。