在设计器中尝试解析 PDF 数据
首先,你需要一个解析 pdf 的包,我们在 iS-RPA5.0 之后内置了 pdfplumber 的包,选择他的主要原因是这个包对表格处理比较好,而且他是 python 的原装包,不是 java 之类转过来的包,那么我们看看简单的例子:
import pdfplumber #导入pdf包
import re #导入正则表达式包
pdf = pdfplumber.open("path/to/file.pdf") #加载pdf
page0 = pdf.pages[0] #取出第一页,你可以用for来遍历所有页面
tables = page0.extract_tables() #从page0里面取出多个tables
texts = page0.extract_text() #从page0里面取出所有文本
results = re.findall(r"([0-9]{1,3}(,[0-9]{3})*\.[0-9]+)", texts) #从文本中提取带千分位和小数点的数字
请注意,pdfplumber 缺省通过表格线来区分行和列,所以下列情况是无法提取出表格的:
* 你的表格是图片,通过选择可以确定是否图片
* 你的表格不是用线来分隔,或者分隔不全,例如列用线,行没线
这种情况下,你就需要尝试:page0.extract_tables(table_settings={})
table_settings 的写法参考:
Github 上的 Pdfplumber
这个需要大家多多尝试,另外正则表达式学习也是很关键的,因为你可以使用正则表达式来提取 page0.extract_text() 中提取到的文本。