import pandas as pd
def main():
population = [
{
"서울특별시": 9414,
"부산광역시": 3306,
"경기도": [
{
"수원시": 1191,
"고양시": 1077
}
]
}
]
population_sort = {}
for item in population:
for location, val in item.items():
if location == "경기도":
for sub_item in item["경기도"]:
for city, num in sub_item.items():
population_sort[city] = num
else:
population_sort[location] = val
print(population_sort)
# dict를 xlsx로 출력하기
df = pd.DataFrame.from_records([population_sort])
df.to_excel('test.xlsx')
if __name__ == "__main__":
재귀 버전으로 해결하기
def collect_values(node):
merged = {}
if isinstance(node, list):
for item in node:
assert isinstance(item, (list, dict))
merged.update(collect_values(item))
elif isinstance(node, dict):
for key, val in node.items():
if isinstance(val, (list, dict)):
merged.update(collect_values(val))
else:
merged[key] = val
else:
raise ValueError
return merged
def main():
population = [
{
"서울특별시": 9414,
"부산광역시": 3306,
"경기도": [
{
"수원시": 1191,
"고양시": 1077
}
]
}
]
population_sort = collect_values(population)
print(population_sort)
if __name__ == "__main__":
main()
'SweetPotato1024 > Python.PyCharm' 카테고리의 다른 글
json.dump (0) | 2023.12.10 |
---|---|
from () import () 차이 import () as () (0) | 2023.05.30 |
Python HTML BeautifulSoup (0) | 2023.02.16 |