f = open("D:/PyCharm 2021/新建文件夹/资料/可视化案例数据/地图数据/疫情.txt", "r", encoding="UTF-8") f.close() # 导出文件 list1 = f.read() # json转化成python list_dict = json.loads(list1) # 选择出河南省准备数据 list_dict = list_dict["areaTree"][0]["children"][3] data_list = [] for i in list_dict: name_list = i["children"]["name"] num_list = i["children"]["total"] data_list.append((name_list, num_list)) print(data_list)
时间: 2024-04-22 10:24:23 浏览: 179
根据你提供的代码,有几个问题需要修正:
1. 你在打开文件后立即关闭了它,然后尝试读取已关闭的文件对象。为了解决这个问题,你需要将文件的读取操作放在打开和关闭文件之间。
2. 在 `for` 循环中,`list_dict` 是一个字典对象,而不是一个列表。你需要使用 `list_dict["children"]` 来访问子节点的列表。
修正后的代码如下所示:
```python
import json
# 打开文件
with open("D:/PyCharm 2021/新建文件夹/资料/可视化案例数据/地图数据/疫情.txt", "r", encoding="UTF-8") as f:
# 读取文件内容
list1 = f.read()
# json转化成python
list_dict = json.loads(list1)
# 选择出河南省准备数据
list_dict = list_dict["areaTree"][0]["children"][3]
data_list = []
for i in list_dict["children"]:
name_list = i["name"]
num_list = i["total"]
data_list.append((name_list, num_list))
print(data_list)
```
请注意,以上代码假设 `list1` 中包含的是符合 JSON 格式的数据。如果文件中的内容不是有效的 JSON 数据,那么 `json.loads()` 函数将会抛出异常。确保你的文件内容是有效的 JSON 格式。
通过以上修改,你应该能够正确地提取出所需的数据并存储在 `data_list` 中。如果还有其他问题,请随时提问。
阅读全文