python入门:实现从json文件获取指定数据练习

python入门:实现从json文件获取指定数据练习

上面练习复习了文件的读入、列表操作、以及加深了对json格式的理解。

数据内容如下:

python入门:实现从json文件获取指定数据练习_第1张图片

主要是想从json文件中,得到在指定日期下,病例所在的城市,并将其整理为列表。

# 想要从json文件中获取指定时间下病患所在的区域,并以列表形式返回
import json
# 设置城市列表空
city = list()
# 打开病患轨迹数据
data = open("D:/python2/textt/guiji.txt","r",encoding="UTF-8")
data_1 = data.read()
# 将文件转化为python中的格式
data_1 = json.loads(data_1)
# 获取人数
data_people = len(data_1)
# 想要获得在2月12日感染的人的地区
for i in range(data_people):
    # 得到每个人的特征指标
    key = list(data_1[i])
    # 由于第一个信息是个人基本信息,因此跳过 从轨迹中寻找时间符合的
    for j in key[1::]:
        # 如果没有时间值,则跳过
        if ('时间' in data_1[i][j]):
            # 当时间属于2月12日时,则返回地区城市
            if data_1[i][j]['时间'] == '2月12日':
                # 如果基本信息中没有病例公布地区特征 则跳过
                if ('病例公布地区' in data_1[i]['基本信息']):
                    a = data_1[i]['基本信息']['病例公布地区']['城市']
                    # 在城市列表中追加元素
                    city.append(a)
# 显示最终的城市数据列表
print(city)
# 发现列表中有一部分为重复的 因此用集合去重
city = list(set(city))
print(city)

结果为:

# 未去重前
['大庆市', '大庆市', '哈尔滨市', '双鸭山市', '大庆市', '齐齐哈尔市', '牡丹江市', '双鸭山市', '齐齐哈尔市', '齐齐哈尔市', '哈尔滨市', '哈尔滨市', '哈尔滨市', '哈尔滨市', '哈尔滨市', '鸡西市', '哈尔滨市', '哈尔滨市', '哈尔滨市', '大庆市', '哈尔滨市', '哈尔滨市', '哈尔滨市', '哈尔滨市', '哈尔滨市', '双鸭山市', '齐齐哈尔市', '齐齐哈尔市', '黑河市', '绥化市', '七台河市']
# 去重后
['七台河市', '牡丹江市', '鸡西市', '双鸭山市', '哈尔滨市', '大庆市', '黑河市', '绥化市', '齐齐哈尔市']

双鸭山市’, ‘哈尔滨市’, ‘大庆市’, ‘黑河市’, ‘绥化市’, ‘齐齐哈尔市’]


你可能感兴趣的:(python语言入门,爬虫,python,数据分析)