json数据处理为list数据
- 实际运用中我想随机获取到省市区代码值,可只找到一串json格式的数据如下:
- 如何能用这个数据,随机获取到里面一个地区的区域码值呢?我的处理方式是:
1、将json数据先压缩数据,存入文件code.ini,从文件中取出文件;
2、从文件中读出内容,用字符串方式分割split后组装为list格式,随机函数choice从列表中集合中随机选择。 - 实现示例:
1.存入文件
2.读取文件内容,分割切片取出数字,以“,”分割【主要用于可以让{“110000”:“北京市”}为一个列表中的元素,可以成为切片的对象z[i]】,切片z[i][2:8]从第2位取到第8位,取出想要的值,通过循环装进新的列表中,最后通过随机函数从data2中取出一个区域的码值
def get_code(self):
"""获取省市区代码"""
filename = os.path.dirname(os.path.dirname(__file__)) +"\\Data_File\\code.ini"
fp = open(filename,'rb')
data = []
for f in fp:
data.append(f.decode("utf-8"))
fp.close()
print("分割前:%s"%data)
#分割
z = str(data[0][1:-1]).split(",")
print("分割后:%s"%z)
data2 = []
for i in range(0,len(z)-1):
data2.append(z[i][2:8])
print("切片组装后:%s"%data2)
value = random.choice(data2)
return value
运行结果:【因数据量过大,只copy部分运行结果】
分割前:['[{"110000":"北京市"},{"110101":"东城区"},{"110102":"西城区"},{"110105":"朝阳区"},{"110106":"丰台区"},{"110107":"石景山区"},{"110108":"海淀区"},{"110109":"门头沟区"},{"110111":"房山区"},{"110112":"通州区"},{"110113":"顺义区"},{"110114":"昌平区"},{"110115":"大兴区"},{"1