pdf文件提取表格数据,写入excel或csv文件

昨天试了pdftoHtml、pdfMiner都不是特别理想,要么就是执行太慢,要么就是提取表格数据散乱,不好处理;pdfplumber使用了一下,提取出的都是空数据,最后采用tabula.

安装 pip install tabula

tabula方便的一点时,提取出的数据不需要转化处理,可以直接使用它,他提取的数据就是一个dataFrame列表数据,可直接使用pandas处理,或直接存入excel或csv.

效果代码如下:

# -*- conding: utf-8 -*-import osimport tabulapath1 = r'D:\TFtest\zfb'fileList = os.listdir(path1)for file in fileList:    if not file.endswith('.pdf'):  # 剔除非pdf文件        continue    file = os.path.join(path1, file)    tableList = tabula.read_pdf(file, encoding='utf-8', pages='all')    if len(tableList) < 2:  # 转化结果小于两个表        continue    print(tableList)    第一个表 = tableList[0]    第二个表 = tableList[1].fillna('')    第二个表['支出'] = 第二个表['支出'].str.replace('-', '0')    第二个表['收入'] = 第二个表['收入'].str.replace('-', '0')    第二个表.to_excel(file.replace('pdf', 'xlsx'), index=False)    第二个表.to_csv(file.replace('pdf', 'csv'), sep='|', index=False)

数据处理结果:

e0770410a52dc83a65da4564a76e464b.png

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐