当我们爬取数据的时候,需要对数据进行清洗,有时候可能会有格式不统一的问题,比如10000、1.3万、89万、20000等数值,因此我们可以使用下面的代码进行格式转换,从而解决数值格式不匹配的问题。
示例:
代码:
lists = [] #定义一个空列表存放数据
for i in data['play']: #循环play列表,判断含有万字的数据使用group方法提取正则search获取的结果
if '万' in i and '.' in i: #数据中包含万字和小数点,对其进行判断
res = re.search('(\d+\.?\d+)',i).group(1) #提取数据
res1 = int(flaot(res) * 10000) #单位换算
lists.append(rest1) #将更改后的res1存放在列表中
elif '万' in i: #判断存在万的数据
res2 = re.search('(\d+)', i).group(1) #提取数据
res3 = int(res2) *10000 #单位换算
lists.append(res3) #将更改后的res3存放在列表中
else:
lists.append(int(i)) #原始数据是纯数据,直接将其放入创建的空列表中
print(lists) #输出打印结果
data['play'] = lists #将list列表中的数据传入到play列表中
data['play'] #查看结果情况
以上就是解决数值中带单位或小数点的问题,可以不局限于万字,还可以是千、百、十等,主要是使用正则化将数据转换,从而获得想要的数据。