我有一个155个json标签的列表和一个与之关联的json文件。这个想法是使用预定标签解析json文件,如果json字符串中没有其中一个标签,则使用null。
我正在使用python 2.7
和本机json解析器。我需要将json转换为csv。这里的问题是试图使用标记从文件中提取json字段,但是我在评估标记时遇到了问题。我收到一个关键错误。
我有一个如下的json模式列表。
json Schema file:
jsonTag.tagb,csv_columnA
jsonTag2.Id,csv_columnB
jsonTag2.Id.description,csv_columnC
我想遍历上面的内容并获取所有json标签。
使用json标签从json文件中提取。上面只是一个示例,我们大约有155个标签和complext嵌套的json。
下面是我在python中使用的方法,该方法使用有序Dict
格式从另一种方法中获取模式(标记),我需要使用该格式来提取json
def write_to_csv(self):
myvars = self.generate_schema() #gets schema in orderedDict key value parir
header = []
values = []
with open('sample_json.json','r') as json_file: #read json file row by row json string
json_string = json_file.read().splitlines()
for json_line in json_string:
json_parsed=json.loads(json_line) #parse each row
for key, value in myvars.items():
values.append(json_parsed[value]) #evalueat the tag and append to an array which i will use it to do csv write row.
print values
以下是我现在得到的错误。
OUTPUT:
Traceback (most recent call last):
File "./parse_nested_json.py", line 86, in <module>
main()
File "./parse_nested_json.py", line 83, in main
parse.write_to_csv()
File "./parse_nested_json.py", line 63, in write_to_csv
values.append(json_parsed[value.strip('\"')])
KeyError: "['trackingEvent']['barcode']"
Expected output:
csv
csv_columnA,csv_columB,csv_columnC
1223,abc,aaa
234,asd,ssaa
..etc
预先感谢