用Python代码处理由PDF转换过来的文本文档,主要是调整不正常的分段,及替换掉一些不需要或不规范的文本。
如有以下可编辑的PDF文档:
可以另存为txt文档(文件→另存为→文本文件):
上述文本文档的问题是分段不正常,不需要分段的地方分了段,另外还有一些不需要的文本需要替换掉。
但是上述的段落之间有空行,这样处理起来就较简单:
上述代码比较简单,只涉及到文本文件的读写及字符串replace()的成员方法。
处理后的效果:
如果段落之间没有空行,处理起来就很麻烦了,可以考虑分析一行的文本长度来考虑段落的合并和分段,类似如下代码:
rTemp1 = open('temp1.txt','rU',encoding='UTF-8')
line = rTemp1.readline() # 整个文本文件作为一个字符串返回
while line:
....if len(s) > lenLine: # 根据行长,合并一些行,并重新进行分行(段)
........s = s.strip()
........wTemp2.write(s)
....else:
........wTemp2.write(s +'\n' )
....line = rTemp1.readline()
附代码:
rInit = open('original.txt','rU',encoding='UTF-8')
wPDFen = open('PDFen.txt','w',encoding="UTF-8")
# 处理一些不需要的内容或字符串
s = rInit.read() # 整个文本文件作为一个字符串返回
s = s.replace(' ','') # 处理全角空格
s = s.replace('' , '\n\n')
s = s.replace('' , '')
s = s.replace('Agatha Christie .. MURDER ON THE ORIENT EXPRESS' , '')
s = s.replace('\n\n\n','')
s = s.replace('\n\n\n','')
s = s.strip() + "\n"
# 处理用空行分段的文本(空行中间的段落合并)
s = s.replace('\n\n','a1b2c3z0') # 用'a1b2c3z0'作段落标记
s = s.replace('\n','')
s = s.replace('a1b2c3z0','\n\n')
wPDFen.write(s)
rInit.close()
wPDFen.close()
-End-
| 留言与评论(共有 0 条评论) |