Mar-28-2023, 10:37 AM
Hi! just saw this post and I think** it will help me with the same issue.. any chance you could help me? Thanks in advance!!
my amended..code..
Json below:
my amended..code..
import os from pathlib import Path from copy import deepcopy import csv import json import sys class parse_index: def __init__(self): # files are in same path as script, assure path here. os.chdir(os.path.abspath((os.path.dirname(__file__))) filepath = Path('mlealcauston/downloads') jsonfile = downloads/'axel_export.json' with jsonfile.open() as fp: self.jindex = json.load(fp) self.csvfile = filepath / 'all_json.csv' def create_csv(self): header = ["type", "id", "uri", "workID", "identified_by", "is_subject_to", "member_of_collection","referred_to_by","has_type", "was_present_at","inscription", "object_count", "object_part"] base = self.jindex["item"] with self.csvfile.open('w') as cfptr: cwrite = csv.writer(cfptr, delimiter=',').writerow cwrite(header) seqno = 1 for key in base.keys(): # print(f"key: {key}") bk = base[key] for key1 in bk.keys(): bk1 = bk[key1] buffer1 = [] buffer1.append(bk1['type']) buffer1.append(bk1['id']) buffer1.append(bk1['uri']) buffer1.append(bk1['workID']) buffer1.append(bk1['identified_by']['Appellation']['has_type']) buffer1.append(bk1['identified_by']['label']['value']['language']) buffer1.append(bk1['identified_by']['preferred']) buffer1.append(bk1['identified_by']['preferred']) buffer1.append(bk1['is_subject_to']['Right']['has_type']['label']['value']) buffer1.append(bk1['member_of_collection']['uri']['has_type']['label']['value']) buffer1.append(bk1['member_of_collection']['label']['value']) buffer1.append(bk1['referred_to_by']['Linguistic_Object']['has_type']['uri']) buffer1.append(bk1['referred_to_by']['Linguistic_Object']['has_type']['label']['value']) buffer1.append(bk1['referred_to_by']['Linguistic_Object']['has_type']['has_type']['uri']) buffer1.append(bk1['referred_to_by']['Linguistic_Object']['content']['value']) buffer1.append(bk1['has_object_work_type']['uri']) buffer1.append(bk1['has_object_work_type']['label']['value']) buffer1.append(bk1['has_object_work_type']['label']['qualifier']) buffer1.append(bk1['has_object_work_type']['label']['role']) buffer1.append(bk1['has_object_work_type']['label']['language']) buffer1.append(bk1['has_object_work_type']['inScheme']['uri']) buffer1.append(bk1['has_object_work_type']['inScheme']['label']['value']) buffer1.append(bk1['has_type']['comment']) buffer1.append(bk1['has_type']['uri']) buffer1.append(bk1['has_type']['label']['value']) buffer1.append(bk1['has_type']['label']['qualifier']) buffer1.append(bk1['has_type']['label']['role']) buffer1.append(bk1['has_type']['label']['language']) buffer1.append(bk1['has_type']['inScheme']['uri']) buffer1.append(bk1['has_type']['inScheme']['label']['label']) buffer1.append(bk1['consists_of']['uri']) buffer1.append(bk1['consists_of']['label']['value']) buffer1.append(bk1['consists_of']['label']['qualifier']) buffer1.append(bk1['consists_of']['label']['role']) buffer1.append(bk1['consists_of']['label']['language']) buffer1.append(bk1['consists_of']['inScheme']['uri']) buffer1.append(bk1['consists_of']['inScheme']['label']['value']) buffer1.append(bk1['was_present_at']['Activity']['id']) buffer1.append(bk1['was_present_at']['Activity']['has_type']['uri']) buffer1.append(bk1['was_present_at']['Activity']['has_type']['label']['value']) buffer1.append(bk1['was_present_at']['Activity']['had_participant']['actor']['label']['value']) buffer1.append(bk1['was_present_at']['Activity']['had_participant']['role_actor']['id']) buffer1.append(bk1['was_present_at']['Activity']['had_participant']['role_actor']['uri']) buffer1.append(bk1['was_present_at']['Activity']['had_participant']['role_actor']['label']['value']) buffer1.append(bk1['was_present_at']['Activity']['had_participant']['attributionQualifierActor']) buffer1.append(bk1['was_present_at']['Activity']['has_time-span']['begin_of_the_begin']) buffer1.append(bk1['was_present_at']['Activity']['has_time-span']['end_of_the_end']) buffer1.append(bk1['was_present_at']['Activity']['referred_to_by']['LinguisticObject']['has_type']['id']) buffer1.append(bk1['was_present_at']['Activity']['referred_to_by']['LinguisticObject']['has_type']['label']['value']) buffer1.append(bk1['was_present_at']['Activity']['referred_to_by']['LinguisticObject']['content']['value']) buffer1.append(bk1['inscription']['has_type']['uri']) buffer1.append(bk1['inscription']['has_type']['label']['value']) buffer1.append(bk1['inscription']['content']['value']) buffer1.append(bk1['inscription']['position']['label']['value']) buffer1.append(bk1['object_count']) buffer1.append(bk1['object_part']['has_type']['id']) buffer1.append(bk1['object_part']['has_unit']['id']) buffer1.append(bk1['object_part']['has_unit']['value']) buffer1.append(bk1['object_part']['has_unit']['comment']) def main(): pi = parse_index() pi.create_csv() if __name__ == '__main__': main()** the dynamic information is confusing me at the moment..
Json below:
Output:{"comment":"This is an early endpoint to dCw, and is intended for experimental use. In addition to the JSON format, there are also lab projects for JSON-LD and XML.","item":{"type":"Human-Made_Object","id":"121392","uri":null,"workID":"1975.163","identified_by":[{"Appellation":{"has_type":null,"label":[{"value":"St. Georg - Schrank","language":"de"}],"preferred":"y"}}],"is_subject_to":[{"Right":{"has_type":{"label":[{"value":null}]}}}],"member_of_collection":[{"uri":null,"label":[{"value":"Moderne"}]}],"referred_to_by":[{"LinguisticObject":[{"has_type":{"uri":null,"label":[{"value":"Aussage zu Objektbezeichnung"}],"has_type":{"uri":"http:\/\/digicult.vocnet.org\/terminology\/ter01614"}},"content":{"value":"Schrank"}}]},{"LinguisticObject":[{"has_type":{"uri":null,"label":[{"value":"Aussage zu Epoche\/Stil"}],"has_type":{"uri":"http:\/\/digicult.vocnet.org\/terminology\/ter01614"}},"content":{"value":"Historismus"}}]},{"LinguisticObject":[{"has_type":{"id":"mat_tech_import","label":{"value":"Material\/Technik(import)"}},"content":{"value":"Eichenholz, geschnitzt, dunkel gebeizt, Eisenbeschl\u00e4ge","language":"de"}}]},{"LinguisticObject":[{"has_type":{"id":"description","label":{"value":"Beschreibung"}},"content":{"value":"Viert\u00fcriger Schrank, die Front mit Figuren in Nischen nahezu vollplastisch beschnitzt. Die Fassade horizontal in drei Zonen gegliedert. Alle Darstellungen in Nischen mit spiralig gedrehten S\u00e4ulen, Korbb\u00f6gen und Kreuzgew\u00f6lben. In der mittleren Zone zwei Schubladen mit vier Rechteckfeldern.","language":"de"}}]},{"LinguisticObject":[{"has_type":{"id":"description_internal","label":{"value":"interne Bemerkung"}},"content":{"value":" ","language":"de"}}]},{"LinguisticObject":[{"has_type":{"id":"additional_entry","label":{"value":"Zusatzangaben"}},"content":{"value":"Geschenk von Frau Erna Strelow, Bonn - Bad Godesberg","language":"de"}}]},{"LinguisticObject":[{"has_type":{"id":"literature","label":{"value":"Literatur"}},"content":{"value":"Jedding, 1977, S. 59, Kat. Nr 80 mit Abb.","language":"de"}}]},{"LinguisticObject":[{"has_type":{"id":"import","label":{"value":"Import"}},"content":{"value":"DS_Erstellung : 31.05.2002\nDS_Aenderung: 17.07.2014\nDS_AenderungUser: Administrator\nAnzahl Fotos: 1\n","language":"de"}}]},{"LinguisticObject":[{"has_type":{"id":"buzzwords","label":{"value":"Schlagworte"}},"content":{"value":"Majolika","language":"de"}}]}],"has_object_work_type":[{"uri":"http:\/\/obg.vocnet.org\/00000883","label":[{"value":"Schrank","qualifier":null,"role":"preferred","language":"de"}],"inScheme":{"uri":"http:\/\/obg.vocnet.org","label":{"value":"Objektbezeichnung"}}}],"has_type":[{"comment":"Epoche\/Stil to event, Darst.\/Ikonogr. to subject","uri":"http:\/\/digicult.vocnet.org\/sachgruppe\/1.373","label":[{"value":"Schrankm\u00f6bel","qualifier":null,"role":"preferred","language":"de"}],"inScheme":{"uri":"http:\/\/digicult.vocnet.org\/sachgruppe","label":{"value":"Sachgruppe"}}},{"comment":"Epoche\/Stil to event, Darst.\/Ikonogr. to subject","uri":"http:\/\/digicult.vocnet.org\/stil\/601.57","label":[{"value":"Historismus","qualifier":null,"role":"preferred","language":"de"}],"inScheme":{"uri":"http:\/\/digicult.vocnet.org\/stil","label":{"value":"Epoche\/Stil"}}},{"comment":"Epoche\/Stil to event, Darst.\/Ikonogr. to subject","uri":"http:\/\/hamburg.vocnet.org\/technik\/tech00051","label":[{"value":"gebeizt","qualifier":null,"role":"preferred","language":"de"}],"inScheme":{"uri":"http:\/\/hamburg.vocnet.org\/technik","label":{"value":"Technik"}}},{"comment":"Epoche\/Stil to event, Darst.\/Ikonogr. to subject","uri":"http:\/\/hamburg.vocnet.org\/technik\/tech00027","label":[{"value":"geschnitzt","qualifier":null,"role":"preferred","language":"de"}],"inScheme":{"uri":"http:\/\/hamburg.vocnet.org\/technik","label":{"value":"Technik"}}}],"consists_of":[{"uri":"http:\/\/hamburg.vocnet.org\/material\/mat00311","label":[{"value":"Eiche","qualifier":null,"role":"preferred","language":"de"}],"inScheme":{"uri":"http:\/\/hamburg.vocnet.org\/material","label":{"value":"Material"}}}],"was_present_at":[{"Activity":{"id":"354265","has_type":{"uri":"http:\/\/terminology.lido-schema.org\/lido00003","label":[{"value":"Ereignis"}]},"had_participant":[{"actor":{"label":[{"value":null}]},"role_actor":[{"id":"empty","uri":"","label":[{"value":""}]}],"attributionQualifierActor":null}],"has_time-span":{"begin_of_the_begin":"1890","end_of_the_end":"1900"},"took_place_at":[{"Appellation":{"label":[{"value":"Deutschland"}]},"has_note":[{"value":"Rheinland"}]}],"referred_to_by":[{"LinguisticObject":{"has_type":{"id":"eventTypeImportHelp","label":[{"value":"Import-Helper"}]},"content":[{"value":"Entwurf"}]}}]}},{"Activity":{"id":"354266","has_type":{"uri":"http:\/\/digicult.vocnet.org\/terminology\/ter01340","label":[{"value":"Zugang"}]},"had_participant":[{"actor":{"label":[{"value":null}]},"role_actor":[{"id":"vendor","uri":"","label":[{"value":"Zugang von"}]}],"attributionQualifierActor":null}],"has_time-span":{"begin_of_the_begin":"","end_of_the_end":""}}}],"inscription":[{"has_type":{"uri":"http:\/\/digicult.vocnet.org\/terminology\/","label":{"value":null}},"content":{"value":""},"position":{"label":{"value":""}}}],"object_count":1,"object_part":[{"has_type":{"id":"overall"},"has_dimension":[{"has_type":{"id":"height"},"has_unit":{"id":"cm"},"value":null,"comment":null},{"has_type":{"id":"width"},"has_unit":{"id":"cm"},"value":null,"comment":null}]}],"resource":[{"link_resource":{"has_type":{"uri":"http:\/\/terminology.lido-schema.org\/lido00481"},"value":"https:\/\/transformation.digicult-verbund.de\/object\/lido\/web-2-lido\/components\/gate\/file\/0083d5c81fe996d37914a96a4b5b5371","value_internal":"https:\/\/digicult-web.digicult-verbund.de\/entity-resources\/images\/digicult-web-mkg\/1\/1975.163.jpg","upload_file_name":"1975.163.jpg"},"title":null,"creator":null,"rights":{"has_type":{"uri":null}},"public":"no"}],"itemListElement":[{"has_type":{"id":"UpdateAction"},"agent":{"has_type":{"id":"Person"},"id":"3"},"endTime":"2020-10-26 17:14:45"},{"has_type":{"id":"UpdateAction"},"agent":{"has_type":{"id":"Person"},"id":"39"},"endTime":"2017-11-13 17:50:44"}],"runtime_initial":0.3274190425872803}}