44 lines
1.9 KiB
Python
44 lines
1.9 KiB
Python
import csv
|
||
import json
|
||
import country_converter as coco
|
||
|
||
#Id;Country;StartDate;EndDate;Type;Name;Subdivisions
|
||
|
||
subdivsionsEncode = {}
|
||
with open("subdivisions.csv", 'r', newline='') as csv_datei:
|
||
csv_reader = csv.reader(csv_datei)
|
||
for zeile in csv_reader:
|
||
subdivsionsEncode[zeile[0].split(";")[1].split("-")[1]] = zeile[1].split(";")[1][3:]
|
||
def generateFullSubdivisionNames(subdivisions):
|
||
result = []
|
||
for element in subdivisions:
|
||
result.append(subdivsionsEncode[element])
|
||
return result
|
||
|
||
#subdivisions noch
|
||
data = []
|
||
with open("holidays.public.csv", 'r', newline='') as csv_datei:
|
||
csv_reader = csv.reader(csv_datei)
|
||
for zeile in csv_reader:
|
||
print(zeile)
|
||
splitetZeile = zeile[0].split(";")
|
||
subdivisions = []
|
||
if len(zeile) > 2:
|
||
subdivisions = zeile[2:]
|
||
if zeile[1].split(";")[1]:
|
||
subdivisions.append(zeile[1].split(";")[1])
|
||
subdivisions = generateFullSubdivisionNames(subdivisions)
|
||
metaData = []
|
||
name_kennenung = []
|
||
name_kennenung.append(splitetZeile[5].split(",")[0])
|
||
name_kennenung.append(zeile[1].split(";")[0])
|
||
metaData.append({"name_DE": splitetZeile[5].split(",")[0], "name_<Kennung>": name_kennenung})
|
||
data.append({"country": coco.convert(names=splitetZeile[1], to='name_short'), "country_code": splitetZeile[1], "start_date": splitetZeile[2], "end_data": splitetZeile[3] if splitetZeile[3] != '' else splitetZeile[2], "name": splitetZeile[5][3:], "meta_data": metaData, "subdivision": subdivisions})
|
||
for element in data:
|
||
pass
|
||
print(element)
|
||
|
||
#in json speichern
|
||
with open("holidays.public.json", 'w') as json_datei:
|
||
json.dump(data, json_datei, indent=4, ensure_ascii=False)
|