I was trying to extract tables from a PDF file with Camelot.
Here is my code:
import camelot tables = camelot.read_pdf('foo.pdf') print(tables)
and I am getting the error while running this script as follows:
File "C:/Users/gibin/PycharmProjects/ML/Table_Tester.py", line 20, in <module> table=tables = camelot.read_pdf(r"C:\Users\gibin\PycharmProjects\ML\Doc_downloader\GWC_Docs\781313686.pdf") File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\io.py", line 117, in read_pdf **kwargs File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\handlers.py", line 172, in parse p, suppress_stdout=suppress_stdout, layout_kwargs=layout_kwargs File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\parsers\lattice.py", line 403, in extract_tables self._generate_image() File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\parsers\lattice.py", line 220, in _generate_image with Ghostscript(*gs_call, stdout=null) as gs: File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\ext\ghostscript\__init__.py", line 95, in Ghostscript stderr=kwargs.get("stderr", None), File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\ext\ghostscript\__init__.py", line 39, in __init__ rc = gs.init_with_args(instance, args) File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\ext\ghostscript\_gsprint.py", line 169, in init_with_args rc = libgs.gsapi_init_with_args(instance, len(argv), c_argv) OSError: exception: access violation writing 0x00000080 Process finished with exit code 1
How can I solve this, or is there another way to get tables from PDF?
Edit: The same script is working fine in jupyter notebook, but not working in pycharm.
Did you install Camelot via the PyPI repository, i.e.
pip install camelot-py[cv]?
I stopped getting this error after I re-installed Camelot from source:
git clone https://www.github.com/camelot-dev/camelot cd camelot pip install ".[cv]"
In my case at Windows 7, I changed the flavor to 'stream' and everything starts to be fine, because the pdf file that I'm using doesn't have any visible table, and 'stream' flavor are the right one for such pdf file while in default camelot set the flavor to be 'lattice'.
The code would be like this:
import camelot tables = camelot.read_pdf('foo.pdf', flavor = 'stream') print(tables)
I don't know why it happens because if I run the same code (that shows errors in Windows 7) in Debian 10, everything is just fine (but there would be no tables detected in the end).
EDIT : I run those code on jupyter notebook. I don't know how it would be if it runs on PyCharm.
User contributions licensed under CC BY-SA 3.0