0

在 python 上使用 Tabula 时,我不断收到此错误。

我已经完成了与此相关的每个 stackoverflow 问题以及博客。

我的 JDK JRE 是最新的。

java 版本 "1.8.0_161" Java(TM) SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

我的路径在环境变量中正确定义。

在 Anaconda 上运行的 Python 版本。

Python 3.6.5 |Anaconda, Inc

df = tabula.read_pdf("C:\XXXXX\PDFExtractor\Test.pdf")

我也尝试过编码。

Tabula CalledProcessError:  Command '['java', '-jar', 'C:\\Users\\xxxxx\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tabula\\tabula-1.0.1-jar-with-dependencies.jar', '--pages', '1', '--guess', 'C:\\Users\\xxxxxx\\PDFExtractor\\Test.pdf']' returned non-zero exit status 2.

感谢帮助。

4

2 回答 2

0

我发现了错误。我基本上跑 java -jar 'C:\Users\xxxxx\AppData\Local\Continuum\anaconda3\lib\site-packages\tabula\tabula-1.0.1-jar-with-dependencies.jar' 'C:\Users\ xxxxxx\PDFExtractor\Test.pdf' 在命令行中。它抛出和错误

但是,如果我将 ' 替换为 ",那么它会在命令行上为我提供解析后的 pdf 的输出。

java -jar "C:\Users\xxxxx\AppData\Local\Continuum\anaconda3\lib\site-packages\tabula\tabula-1.0.1-jar-with-dependencies.jar" 'C:\Users\xxxxxx\PDFExtractor \测试.pdf'

现在我如何让python用双引号传递第一部分?

于 2018-10-04T07:57:09.067 回答
0

您需要转义反斜杠或使用原始字符串:

df = tabula.read_pdf("C:\\XXXXX\\PDFExtractor\\Test.pdf")

或者

df = tabula.read_pdf(r"C:\XXXXX\PDFExtractor\Test.pdf")

否则您的文件将被视为C:XXXXXPDFExtractorTest.pdf

于 2018-10-04T06:39:04.590 回答