全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
3599 9
2017-09-05
大神们好

有一个这样的需求,就是有两列数据,一列为编号,一列为文本信息,其中想把文本信息里的数字摘出来,如下的效果

编号文本信息摘取效果
1中国爱1002

1002

2北美也开户2020

2020

3我的手机13500122203

13500122203

4 
5爱护我的39212门户

39212

6 
7原来是这样的号23222003

23222003

8 
9 
10演练在这988222

988222

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-9-6 10:43:51
复制代码

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-6 10:48:24
重复了,删除
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-6 16:56:38
学习下正则表达式,简单到爆。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-7 09:46:45
fengxingliulizi 发表于 2017-9-6 10:48
重复了,删除
如果我是从文本文件或者excel文件里读取这个文本list呢,我尝试了一下,发现有问题,能帮忙看看代码吗?

所需文件:
beizhu1.xlsx
大小:(9 KB)

 马上下载



import re
import pandas as pd
import numpy as np
content=pd.read_excel(r'D:\beizhu1.xlsx')

df = pd.DataFrame({'id':range(len(content)),
                   'ct':content['文本信息']})

df['ct'] = str(df['ct'])
   
def getNum(x):
    model = '([\d]*?)[^\d]'
    data = re.findall(model, x)
    return [s for s in data if s!='']

df['result'] = df['ct'].apply(lambda x:getNum(x))

writer = pd.ExcelWriter('beizhu_output.xlsx')

df.to_excel(writer, sheet_name='invitecode')
writer.save()
error.png


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-7 13:33:52
scarlett_0405 发表于 2017-9-7 09:46
如果我是从文本文件或者excel文件里读取这个文本list呢,我尝试了一下,发现有问题,能帮忙看看代码吗?
...
那是因为有些是NaN,而我之前这些空值设置的是‘’。修改代码如下
复制代码




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群