2017-06-02 3 views
-1

Ich versuche, Tabellen aus einer Reihe von PDF-Dateien zu extrahieren, kann aber keine tabula-py arbeiten. Ich habe versucht, es über ein Jupyter Notebook auf einem Windows-Betriebssystem zu verwenden. Leider erhalte ich den gleichenPython tabula-py wird nicht lesen pdf

‚FileNotFoundError‘

jedes Mal, wenn ich versuche, die read_PDF() zu verwenden.

Von dem, was ich bisher online gefunden habe, scheint der Fehler beim Versuch, die Tabula Java-Datei auszuführen. Ich habe Java richtig installiert.

Jede Hilfe mit diesem wird sehr geschätzt.

Dies ist der Code, den ich versuche zu laufen:

from tabula import read_pdf 
    df = read_pdf("https://github.com/tabulapdf/tabula-java/raw/master/src/test/resources/technology/tabula/arabic.pdf") 

Nachricht Fehler: PATH-Umgebung für java.exe

FileNotFoundError       Traceback (most recent call last) 
    <ipython-input-78-956ad4697ff7> in <module>() 
      1 from tabula import read_pdf 
    ----> 2 df = read_pdf("https://github.com/tabulapdf/tabula-java/raw/master/src/test/resources/technology/tabula/arabic.pdf") 

    C:\Program Files\Anaconda3\lib\site-packages\tabula\wrapper.py in read_pdf(input_path, **kwargs) 
     64 
     65  try: 
    ---> 66   output = subprocess.check_output(args) 
     67  finally: 
     68   if is_url: 

    C:\Program Files\Anaconda3\lib\subprocess.py in check_output(timeout, *popenargs, **kwargs) 
     624 
     625  return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, 
    --> 626    **kwargs).stdout 
     627 
     628 

    C:\Program Files\Anaconda3\lib\subprocess.py in run(input, timeout, check, *popenargs, **kwargs) 
     691   kwargs['stdin'] = PIPE 
     692 
    --> 693  with Popen(*popenargs, **kwargs) as process: 
     694   try: 
     695    stdout, stderr = process.communicate(input, timeout=timeout) 

    C:\Program Files\Anaconda3\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds) 
     945         c2pread, c2pwrite, 
     946         errread, errwrite, 
    --> 947         restore_signals, start_new_session) 
     948   except: 
     949    # Cleanup if the child failed starting. 

    C:\Program Files\Anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session) 
     1222           env, 
     1223           cwd, 
    -> 1224           startupinfo) 
     1225    finally: 
     1226     # Child is launched. Close the parent's copy of those pipe 
+0

Sie müssen mehr Details angeben, wenn Sie eine Antwort erhalten möchten. Bitte geben Sie Arbeitscode-Beispiel, um Ihr Problem zu reproduzieren –

+1

Danke @PawelMiech. Ich habe gerade den Code hinzugefügt, den ich ausführen möchte. Prost –

Antwort

0

ich dieses Problem zu reproduzieren, ohne Einstellung. Stellen Sie sicher, dass PATH für Java festgelegt ist. Siehe auch: https://www.java.com/en/download/help/path.xml

+0

Vielen Dank, @chezou. Es läuft jetzt gut von einem Terminal-Fenster, aber ich bekomme immer noch den gleichen Fehler, wenn ich auf einem Jupyter-Notebook laufe. Prost –

+0

Ich denke, dass diese Antwort Ihnen https://stackoverflow.com/a/41796284/3762316 helfen wird – chezou