FeiertageInJSON/main.py

44 lines
1.9 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)