我有使用tabula-py读取pdf的python代码以提取文本,然后通过tabula-py将其更改为表格形式。但这给了我一个警告。
Nov 15, 2017 3:40:23 PM org.apache.pdfbox.pdmodel.font.PDSimpleFont toUnicode
WARNING: No Unicode mapping for .notdef (9) in font Helvetica
Run Code Online (Sandbox Code Playgroud)
此警告是tabula-py,并且Tabula-py用Java编写。因此,我不能简单地使用-W ignore
抑制上述警告。
有什么方法可以消除或抑制以上警告。
在Python 3中,我有一个PDF文件“ Ativos_Fevereiro_2018_servidores_rj.pdf”,具有6,041页。我在使用Ubuntu的计算机上
在每个页面的顶部,两行都是文本。在表格下方,带有标题和两列。每个表36行,最后一页较少
在每页末尾,表格之后,还有一行文字
我想从此PDF创建CSV,只考虑页面中的表格。并忽略表格前后的文字
最初,我测试了表格。但是它生成一个空文件:
from tabula import convert_into
convert_into("Ativos_Fevereiro_2018_servidores_rj.pdf", "test_s.csv", output_format="csv")
Run Code Online (Sandbox Code Playgroud)
拜托,有人知道这种方法可以使用tabula-py吗?
还是将这种文件类型的PDF转换为CSV的另一种方法?
我们可以选择通过指定PDF坐标来从PDF文档中提取表格.对于Windows用户,为了获取坐标,您必须将PDF文件上传到Tabula网页并导出包含坐标的脚本,然后将坐标输入到您的代码中.对于Mac用户,您只需使用预览应用程序和裁剪检查器.我只是想知道是否有任何第三方程序或插件为Windows用户提供此功能?我认为在下列情况下这会很方便:
如果有人能指出我能找到这样的东西,将不胜感激.非常感谢.
我正在开发发票解析器,它从 pdf 或图像格式的发票中提取数据。它适用于具有非表格数据的简单 pdf,但提供了大量输出数据以使用包含表格的 pdf 进行处理。我无法获得有效的通用解决方案为此,我尝试了以下库
Invoice2Data : 基于模板。到目前为止,它在json格式中给出了相当好的结果。但是包含动态表的复杂pdf的模板创建很复杂。
塔布拉:表提取是基于表中的坐标是extracted.If数据表中的增加在这种情况下,给出错误的结果表长度的增加并因此坐标changes.So。
Pdftotext:它将任何 pdf 转换为文本,但格式需要我们不想要的大量解析。
Aws_Textract 和 Elis_Rossum_Ai:以 json 格式给出所有数据。但如果表列包含多行,那么 json 解析变得困难。即使给出的 json 解析的大小也很大。
正方体:与 pdftotext.Complex pdf 相同,不可解析。
除了所有这些或与上述库的组合之外,是否有人能够解析复杂的 pdf 数据,请帮忙。
一个.py
程序可以工作,但完全相同的代码,当作为 API 公开时,却无法工作。
该代码使用 Tabula 读取 pdf 并提供表格内容作为输出。
我试过了 :
import tabula
df = tabula.read_pdf("my_pdf")
print(df)
Run Code Online (Sandbox Code Playgroud)
和
from tabula import wrapper
df = wrapper.read_pdf("my_pdf")
print(df)
Run Code Online (Sandbox Code Playgroud)
我在运行 Ubuntu 的 AWS EC2 上安装了 tabula-py(不是 tabula)。
不仅仅是 read_pdf,我实际上想转换为 CSV 并给出输出。但这也行不通。我得到相同的无属性错误,即module 'tabula' has no attribute 'convert_into
。
.py 文件和 API 文件(.py 也是如此)位于同一目录中,并由同一用户访问。
任何帮助将不胜感激。
编辑:我试图从 API 运行与操作系统命令 ( os.system("python3 /home/ubuntu/flaskapp/tabler.py")
)相同的 python 文件。但它也没有奏效。
我正在尝试使用 Tabula-py 来阅读 pdf。我通过安装 tabula-pypip install tabula-py
我还安装了所需的依赖项
requests
pandas
pytest
flake8
Run Code Online (Sandbox Code Playgroud)
我的代码目前如下:
import tabula
import pandas as pd
df = tabula.read_pdf("report.pdf", pages=2)
print(df)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "tabula_pdf_reader.py", line 1, in <module>
import tabula
ImportError: No module named tabula
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么输入?
我已经尝试了堆栈溢出和外部的大部分内容
问题:我有一个包含内容和表格的 pdf。我还需要解析表格和内容。
APIs:
https : //github.com/tabulapdf/tabula-java
我正在使用tabula-java
它忽略了表格单元格内的某些内容和内容没有以正确的方式分离。
我的 PDF 有这样的内容
DATE :1/1/2018 ABCD SCODE:FFFT
--ACCEPTED--
USER:ADMIN BATCH:RR EEE
CON BATCH
=======================================================================
MAIN SNO SUB VALUE DIS %
R 12 rr1 0125 24.5
SLNO DESC QTY TOTAL CODE FREE
1 ABD 12 90 BBNEW -NILL-
2 XDF 45 55 GHT55 MRP
3 QWE 08 77 CAT -NILL-
=======================================================================
MAIN SNO SUB VALUE DIS %
QW 14 rr2 0122 24.5
SLNO DESC QTY TOTAL CODE FREE
1 ABD …
Run Code Online (Sandbox Code Playgroud) Camelot 是一个很棒的 Python 库,用于从 pdf 文件中提取表格作为数据框。但是,我正在寻找一种解决方案,该解决方案还返回写在表格正上方的表格描述文本。
我用来从 pdf 中提取表格的代码是这样的:
import camelot
tables = camelot.read_pdf('test.pdf', pages='all',lattice=True, suppress_stdout = True)
Run Code Online (Sandbox Code Playgroud)
我想提取表格上方写的文本,即THE PARTICULARS,如下图所示。
对我来说最好的方法应该是什么?感谢任何帮助。谢谢
我正在尝试从网站上提供的 PDF 中获取数据
https://usda.library.cornell.edu/concern/publications/3t945q76s?locale=en
例如,如果我查看 2019 年 11 月的报告
https://downloads.usda.library.cornell.edu/usda-esmis/files/3t945q76s/dz011445t/mg74r196p/latest.pdf
我需要第 12 页上的玉米数据,我必须为期末库存、出口等创建单独的文件。我是 Python 新手,我不知道如何单独抓取内容。如果我能用一个月的时间弄清楚,那么我就可以创建一个循环。但是,我对如何继续处理一个文件感到困惑。
有人可以帮我吗,TIA。
我已经安装了 tabula 库,用于使用 python 将 pdf 读取到 pandas 数据框中。但是当我运行代码时
import tabula
df=tabula.read_pdf("sample1.pdf",pages='1')
Run Code Online (Sandbox Code Playgroud)
我得到了例外。
SEVERE: Cannot read JPEG2000 image: Java Advanced Imaging (JAI) Image I/O Tools are not installed
Run Code Online (Sandbox Code Playgroud)
我尝试过的解决方案:
pip install tabula-py
如果我忽略了什么,请告诉我。