数据清洗:通过Python从字符串中提取数字
根据业务需求进行数据清洗,通过Python从字符串中提取数字。
运行环境 Runtime environment
1 | 操作系统: Windos10 |
背景
某日,根据公司业务需求采集某药品信息的网站。
获取其自定的itemID时,发现它id是一段纯数字,且塞在某个HTML标签的value参数中。
而且,无其他数字造成干扰。
于是开发了一个通用python函数方法。
思路
采用正则表达式为解决需求的核心。
常用正则表达式概要
1 | ## 总结 |
代码
将提取到的数字合并成一串长数字
1 | def pick_up_numeral(temp_str) -> str: |
提取数字(分割成列表)
1 | def pick_up_numeral(temp_str) -> list: |
测试
1 |
|
总结
既然是提取数字,那么数字的形式一般是:整数,小数,整数加小数;
所以一般是形如:—-.—–;
根据上述正则表达式的含义,可写出如下的表达式:”\d+.?\d*”;
\d+ 匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字;
.? 这个是匹配小数点的,可能有,也可能没有;
\d* 这个是匹配小数点之后的数字的,所以是0个或者多个;
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 快乐咸鱼のRaXianch窝!
评论
WalineValine