纯数字正则_纯大白学个Pandas,于我来讲,还是难的

经常会用到excel表格处理一些数据,因为经常重复操作,所以想,是不是有更便捷的方式可以实现。大家都说python容易学,特别是数据处理方面。所以就简单粗暴的开始折腾。

一开始慢慢地看一些python基础地东西,一来时间也不多,二来进展也慢。干脆直奔目的,直接上手,边做边学习。主要解决以下问题:

表1,是摘录下的来表格,里面包括了许多字段,比如商品标题、链接、价格等,从标题中可以直接扣出型号来。随后需在表1增加一列“型号”用来对应扣出来的内容(纯数字,四位数)

表2,包括了型号、价格,用来给表1参照,是否合规。

我笨拙的思路:

1、先读取表1(就一个sheet),用到:pandas 这个库(是不是库我也不懂,暂时先这么叫着)

     path = '/Users/acdc/Desktop/excel_python/sile.xlsx'     wb = pd.read_excel(path)

通过上面的两行,可以顺利地读到表格中的所有内容。 path 在这里指定了文件的路径,为了方便后面使用。不定义它也可以。在 pd.read_excel( ' ' )这里的引号中直接使用文件所在的路径就可以了。一般路径的获取,我是打开终端,把文件拖进去,复杂终端里面显示的路径就可以。如果文件名包括中文可以使用(主要是这个 r ):

 r'这里是具体的路径 '

2、读取表1指定列(我要读取“标题”这一列)

title = wb['标题']

这时,已经正确读取到了想要的列。

3、提取标题列中的四位数(有些行可能有多个四位数,有些行可能没有数字)

for goods_ids in title:  goods_id = re.findall(r'd{4}' , goods_ids)
02b188128dd9517f2938a1a913d962cf.png

得到的结果

得到的结果,有些是两个数字,有些是没有数字。(提取过程中用到了正则表达式,那个简单的"d{4}",花了我两三天的时间摸索+尝试得来的。"d" 表标数字,可能是data吧,"{4}"表示4个,结合到一起就是4位数。)但这不是我想要的,我只需要第一个数字就可以了。于是,再增加一行:

real_goods_id = goods_id[0:1]
429009be298d4f1531a5a50de6bd1f0d.png

取一位数字

终于得到一位数字了,到这里为止,一切都还是挺顺利的,一边百度,头条,一边尝试。接下来,需要把那个空的填上“None”。但这一步一直没有方向,不知道应该怎么实现。希望有高人指个明路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值