Untitled
unknown
plain_text
a year ago
2.1 kB
9
Indexable
#Convert into Big Query Schema
def convert_json_to_valid_schema(json):
rec_to_insert = []
no_of_recs= len(json_data['features'][0])
print(f"{no_of_recs} to be processed!!!")
def convert_coord_list_to_string(list):
# Flatten the list of lists into a single list
flattened_list = [str(item) for sublist in list_of_lists for item in sublist]
# Join all the elements with a comma
result_string = ','.join(flattened_list)
return result_string
for i in range(0,no_of_recs):
schema_format = {
"geometry": {'coordinates':convert_coord_list_to_string(json_data['features'][i]['geometry']['coordinates']),'type':json_data['features'][i]['geometry']['type']},
"warningImpact": json_data['features'][i]['properties']['warningImpact'],
"validFromDate": json_data['features'][i]['properties']['validFromDate'],
"warningFurtherDetails": json_data['features'][i]['properties']['warningFurtherDetails'],
"warningHeadline": json_data['features'][i]['properties']['warningHeadline'],
"affectedAreas": json_data['features'][i]['properties']['affectedAreas'],
"issuedDate": json_data['features'][i]['properties']['issuedDate'],
"warningLevel": json_data['features'][i]['properties']['warningLevel'],
"validToDate": json_data['features'][i]['properties']['validToDate'],
"modifiedDate": json_data['features'][i]['properties']['modifiedDate'],
"warningId": json_data['features'][i]['properties']['warningId'],
"warningStatus": json_data['features'][i]['properties']['warningStatus'],
"warningLikelihood": json_data['features'][i]['properties']['warningLikelihood'],
"whatToExpect": json_data['features'][i]['properties']['whatToExpect'],
"weatherType": json_data['features'][i]['properties']['weatherType'],
"warningVersion": json_data['features'][i]['properties']['warningVersion'],
}
rec_to_insert.append(schema_format)
return rec_to_insertEditor is loading...
Leave a Comment