簡體   English   中英

Python 使用 Tabula / Java 不支持 ClassVersion?

[英]Python using Tabula / Java unsupported ClassVersion?

我嘗試將表格模塊與 python 一起使用並具有以下代碼:

import tabula
file = "input.pdf"
tables = tabula.read_pdf(file, pages = "all", multiple_tables = True)

當我嘗試在 windows 上運行此代碼時,我收到此錯誤:

$ python exampleTabula.py
Error from tabula-java:
java.lang.UnsupportedClassVersionError: technology/tabula/CommandLineApp : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Exception in thread "main"

Traceback (most recent call last):
  File "C:\DEV\Python-Diverses\PDFExtract\exampleTabula.py", line 3, in <module>
    tables = tabula.read_pdf(file, pages = "all", multiple_tables = True)
  File "C:\DEV\.venv\Normal\lib\site-packages\tabula\io.py", line 322, in read_pdf
    output = _run(java_options, kwargs, path, encoding)
  File "C:\DEV\.venv\Normal\lib\site-packages\tabula\io.py", line 80, in _run
    result = subprocess.run(
  File "C:\Users\WRSPOL\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 528, in run
subprocess.CalledProcessError: Command '['java', '-Dfile.encoding=UTF8', '-jar', 'C:\\DEV\\.venv\\Normal\\lib\\site-packages\\tabula\\tabula-1.0.5-jar-with-dependencies.jar', '--pages', 'all', '--guess', '--format', 'JSON', 'foo.pdf']' returned non-zero exit status 1. 

我檢查了 java-installation 並獲取了以下信息:

$ which java
/c/Windows/system32/java

$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

我必須做什么才能在此配置上使用表格?

根據 Tabula-py 的https://pypi.org/project/tabula-py/文檔,我猜你需要 Java 8+。 java 版本“1.7.0_80”是 Java 7 我猜。

請嘗試將 Java 版本更新到 8+ 並重試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM