表格CalledProcessError:返回非零退出状态2。尝试了所有可能的方法

时间:2018-10-04 05:22:55

标签: python tabula pdf-extraction

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

我也遇到了与此以及博客相关的每个stackoverflow问题。

我的JDK JRE是最新的。

java版本“ 1.8.0_161” Java(TM)SE运行时环境(内部版本1.8.0_161-b12) Java HotSpot(TM)64位服务器VM(内部版本25.161-b12,混合模式)

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

在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.

感谢帮助。

2 个答案:

答案 0 :(得分:0)

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

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

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

否则,您的文件将显示为C:XXXXXPDFExtractorTest.pdf

答案 1 :(得分: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 \ Test.pdf'

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