You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
903 B

import pandas as pd
SEP = " "
NEW_LINE = "\n"
O_OBJ = "{"
C_OBJ = "}"
def main():
df = pd.read_csv("./cities.csv")
uf_to_city = df.groupby(["state_code", "state"])
JSON = "const states = [\n"
for name, _ in uf_to_city:
UF, state_name = name
JSON += "\t\t"+O_OBJ+ " value: \"" +UF+"\", " + "label: \"" + f"{state_name}" + "\" " + C_OBJ + ",\n"
JSON += "];"
JSON += """\n\n\nconst statesToCities = {\n"""
for name, group in uf_to_city:
UF, state_name = name
JSON += "\t" + f"{UF} : " + O_OBJ + "\n\t\t" + "state_name: " + "\""+state_name+"\"," + NEW_LINE + "\t\tcities: [\n"
for city in group.name:
JSON += "\t\t\t"+O_OBJ+ " value: \"" +city+"\", " + "label: \"" + city + "\" " + C_OBJ + ",\n"
JSON += "\t\t]\n\t},\n"
JSON += "\n};"
JSON += "export {states, statesToCities}"
print(JSON)
main()