我是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地图。敬请指教。提前谢谢。
import re
x='result of PDF map'[image1]
result = re.search('\w{3}-\w{6}-\d*.\d*.\d*',x)
#output
['', '', '', '', '']发布于 2020-06-17 15:27:43
下面是一个适用于您的正则表达式:
re.findall(r"RIY-[A-Z]{6}-\d{6}\.\d{8}\.\d{5,7}", text)结果是:
'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',
...编辑
要将这段代码分成几列,整个代码应该是:
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将如下所示:
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.651934https://stackoverflow.com/questions/62423249
复制相似问题