首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python基于模式拆分长输出字符串(无分隔符)

python基于模式拆分长输出字符串(无分隔符)
EN

Stack Overflow用户
提问于 2020-06-17 15:04:01
回答 1查看 92关注 0票数 1

我是python的新手,我试着用(PyPDF2)来阅读PDF地图。我得到了这个作为输出Sample output of pdf map as text。我想从这个输出中提取某个模式与RIY-DIRAHH-015524.49121946.651068匹配的数据。我只需要那些只有这个模式的值。图案的长度在30-34之间变化。已针对RIY-DIRAHH-0155修复,而更改仅在LAT/LONG 24.49121946.651068中发生。Complete output of PDF MAP

请帮助提取/拆分特定值(匹配模式)。如果有任何其他解决方案可用于阅读PDF地图。敬请指教。提前谢谢。

代码语言:javascript
复制
import re
x='result of PDF map'[image1]
result = re.search('\w{3}-\w{6}-\d*.\d*.\d*',x)
#output
['', '', '', '', '']

Sample Image of map

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-17 15:27:43

下面是一个适用于您的正则表达式:

代码语言:javascript
复制
re.findall(r"RIY-[A-Z]{6}-\d{6}\.\d{8}\.\d{5,7}", text)

结果是:

代码语言:javascript
复制
 'RIY-OUHOMH-100224.53476846.650127',
 'RIY-OUHOMH-100324.53282546.65039',
 'RIY-OUHOMH-100424.53224446.651758',
 'RIY-OUHOHH-100724.52902946.653571',
 'RIY-OUHOHH-100624.53007146.651934',
 'RIY-OUHOHH-100524.53178646.65279',
 'RIY-OUHOMH-100124.53597246.649456',
 'RIY-DIRAHH-015124.49540746.641877',
 'RIY-DIRAHH-015224.49410546.644253',
 'RIY-DIRAHH-015324.49267846.646789',
 'RIY-DIRAHH-015424.49144946.649107',
 'RIY-DIRAHH-015524.49121946.651068',
 'RIY-DIRAHH-015624.49343446.652505',
 'RIY-DIRAHH-015724.49563146.653924',
 ...

编辑

要将这段代码分成几列,整个代码应该是:

代码语言:javascript
复制
out = re.findall(r"RIY-[A-Z]{6}-\d{6}\.\d{6,8}\.\d{5,7}", text) 
df = pd.DataFrame(out, columns = ["RIY"]) 

df["col1"] = df.RIY.str[0:15]
df["col2"] = df.RIY.str[15:24]
df["col3"] = df.RIY.str[24:]

然后,df将如下所示:

代码语言:javascript
复制
                                 RIY             col1       col2       col3
0  RIY-OUHOMH-100224.53476846.650127  RIY-OUHOMH-1002  24.534768  46.650127
1   RIY-OUHOMH-100324.53282546.65039  RIY-OUHOMH-1003  24.532825   46.65039
2  RIY-OUHOMH-100424.53224446.651758  RIY-OUHOMH-1004  24.532244  46.651758
3  RIY-OUHOHH-100724.52902946.653571  RIY-OUHOHH-1007  24.529029  46.653571
4  RIY-OUHOHH-100624.53007146.651934  RIY-OUHOHH-1006  24.530071  46.651934
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62423249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档