Python如何在循环中解析json usng标签

时间:2019-01-15 11:51:54

标签: python json python-2.7 csv

我有一个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

预先感谢

0 个答案:

没有答案