文档格式
文档的类型多种多样,为了保证其统一性,方便后续处理。首先,肯定是需要对不同的格式的文档进行读取与存储操作,如txt,json,docx,pdf等格式。针对不同格式的文档可以使用不同的包进行读取操作:
数据格式 | 涉及库 |
---|---|
txt | - |
xlsx | pandas |
docx | python-docx,pandoc |
PyPDF2,pdfplumber,ocrmypdf |
其中doc可以转换至docx,xls转换至xlsx等进行读取,较为复杂的格式为PDF,较为完美的读取PDF格式的文本内容,能过过滤掉页眉页脚等影响文本连续性的内容,同时防止读取乱码,缺失与重复;同时,PDF的读取还会涉及单双栏文档的问题,根据我们测试的结果来看,使用paddleOCR读取是效果最好的,但是也还是不能避免少量问题。但是,wps有官方转docx的工具,adobe有解析PDF,提取内容的API供访问。
储存格式
存储成什么格式没有什么固定的要求,也没有好坏之分,为的是方便后续的进一步处理与使用。储存的格式一定要有这几点:
- 唯一性
- 有效文本统一性
唯一性是指每一个文档需要相互独立,能够通过一定的方式找到,比如构建唯一ID,在查找时较为方便。
有效文本统一性是指不同的来源的文档,在进行存储读取时,要统一格式,比如文档的主体文本,都使用text字典进行保存,其他的信息都使用meta字典建立新字典保存,这样虽然不同来源不同格式的文档解析出的信息不同,需要存储的信息也不同,但是我们存储读取文件的代码并不需要更新。