You said: "it's trial and error, until you get it right" I think that's why "camelot" is better. You can get visual output (with matplotlib) so you don't need to guess iteratively.
Not sure how to choose from the many python packages to extract data from a PDF.. PyMuPDF, PyPDF2 , PDFplumber, tabula-py, etc.. For example, what if the PDF is a scan of a paper document.. i.e. it's crooked, and quality is bad. Is there one that does it best? Or maybe I should use AI (ChatGPT + GPT4Vision/Ai PDF) to do an OCR, then have it extract the data? Also any suggestions how to get the values from specific columns in a text file. For example, I have text files with data like this: #Time (HHH:MM:SS): 002:34:02 # T(ms) BUS CMD1 CMD2 FROM SA TO SA WC TXST RXST ERROR DT00 DT01 DT02 DT03 DT04 DT05 DT06 DT07 # ===== === ==== ==== ==== == ==== == == ==== ==== ====== ==== ==== ==== ==== ==== ==== ==== ==== 816 B0 D84E BC RT27 2 14 D800 2100 0316 0000 0000 0000 0000 CCCD 0000 817 A0 DC50 RT27 2 BC 16 D800 2120 0000 4080 3000 0000 3000 0000 0000 #Time (HHH:MM:SS): 002:34:03 # T(ms) BUS CMD1 CMD2 FROM SA TO SA WC TXST RXST ERROR DT00 DT01 DT02 DT03 DT04 DT05 DT06 DT07 # ===== === ==== ==== ==== == ==== == == ==== ==== ====== ==== ==== ==== ==== ==== ==== ==== ==== 056 B0 D84E BC RT27 2 14 D800 2100 0316 0000 0000 0000 0000 CCCD 0000 057 A0 DC50 RT27 2 BC 16 D800 2120 0000 4080 3000 0000 3000 0000 0000 How can get just the data from DT00 thru DT07 into an array, without doing lots of preprocessing to scrub out the repeating #Time headers that appear throughout the file?
Coming back, my team faced the same problem. In our case, someone had installed a "tabula" library instead of "tabula-py", uninstalling the wrong one and installing the correct one solved the problem.
You said: "it's trial and error, until you get it right"
I think that's why "camelot" is better. You can get visual output (with matplotlib) so you don't need to guess iteratively.
1) 0:49 CMD (as Admin): pip install tabula-py. (java installed previously)
2)
Not sure how to choose from the many python packages to extract data from a PDF.. PyMuPDF, PyPDF2 , PDFplumber, tabula-py, etc..
For example, what if the PDF is a scan of a paper document.. i.e. it's crooked, and quality is bad. Is there one that does it best? Or maybe I should use AI (ChatGPT + GPT4Vision/Ai PDF) to do an OCR, then have it extract the data?
Also any suggestions how to get the values from specific columns in a text file. For example, I have text files with data like this:
#Time (HHH:MM:SS): 002:34:02
# T(ms) BUS CMD1 CMD2 FROM SA TO SA WC TXST RXST ERROR DT00 DT01 DT02 DT03 DT04 DT05 DT06 DT07
# ===== === ==== ==== ==== == ==== == == ==== ==== ====== ==== ==== ==== ==== ==== ==== ==== ====
816 B0 D84E BC RT27 2 14 D800 2100 0316 0000 0000 0000 0000 CCCD 0000
817 A0 DC50 RT27 2 BC 16 D800 2120 0000 4080 3000 0000 3000 0000 0000
#Time (HHH:MM:SS): 002:34:03
# T(ms) BUS CMD1 CMD2 FROM SA TO SA WC TXST RXST ERROR DT00 DT01 DT02 DT03 DT04 DT05 DT06 DT07
# ===== === ==== ==== ==== == ==== == == ==== ==== ====== ==== ==== ==== ==== ==== ==== ==== ====
056 B0 D84E BC RT27 2 14 D800 2100 0316 0000 0000 0000 0000 CCCD 0000
057 A0 DC50 RT27 2 BC 16 D800 2120 0000 4080 3000 0000 3000 0000 0000
How can get just the data from DT00 thru DT07 into an array, without doing lots of preprocessing to scrub out the repeating #Time headers that appear throughout the file?
Do you think Tabula work for all generated text pdf?
AttributeError: module 'tabula' has no attribute 'read_pdf' everytime it is showing this error
Hi, cood be the lack of "()" on it - read_pdf() -?
i had the same error in google colab, the solution was:
"from tabula.io import read_pdf
df = read_pdf('aaa.pdf', pages='all')"
Coming back, my team faced the same problem.
In our case, someone had installed a "tabula" library instead of "tabula-py", uninstalling the wrong one and installing the correct one solved the problem.
Thank you for this very useful video!
Awesome content - subscribed!
Thank you sir