Tabula Py

Simple wrapper of tabula-java: extract table from PDF into pandas DataFrame
Alternatives To Tabula Py
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Modin8,69791721 hours ago62June 25, 2022901apache-2.0Python
Modin: Scale your Pandas workflows by changing a single line of code
5 hours ago24August 18, 2022844apache-2.0C++
cuDF - GPU DataFrame Library
10 days ago30apache-2.0Python
PyGWalker: Turn your pandas dataframe into a Tableau-style User Interface for visual analysis
a month ago11mitPython
common data analysis and machine learning tasks using python
Danfojs4,199325 days ago36April 20, 202268mitTypeScript
Danfo.js is an open source, JavaScript library providing high performance, intuitive, and easy to use data structures for manipulating and processing structured data.
Mimesis3,972421911 days ago37June 22, 20228mitPython
Mimesis is a robust data generator for Python, capable of rapidly producing large volumes of synthetic data for various use cases.
Pandas Ta3,696192 days ago19July 28, 202197mitPython
Technical Analysis Indicators - Pandas TA is an easy to use Python 3 Pandas Extension with 130+ Indicators
Koalas3,2281126 months ago47October 19, 2021109apache-2.0Python
Koalas: pandas API on Apache Spark
Pandasgui2,901144 months ago43August 14, 202154mit-0Python
A GUI for Pandas DataFrames
Sklearn Pandas2,724111392 days ago27May 08, 202138otherPython
Pandas integration with sklearn
Alternatives To Tabula Py
Select To Compare

Alternative Project Comparisons


Build Status PyPI version Documentation Status Patreon

tabula-py is a simple Python wrapper of tabula-java, which can read tables in a PDF. You can read tables from a PDF and convert them into a pandas DataFrame. tabula-py also enables you to convert a PDF file into a CSV, a TSV or a JSON file.

You can see the example notebook and try it on Google Colab, or we highly recommend reading our documentation, especially the FAQ section.

tabula-py example


  • Java 8+
  • Python 3.8+


I confirmed working on macOS and Ubuntu. But some people confirm it works on Windows 10. See also the documentation for the detailed installation for Windows 10.



Ensure you have a Java runtime and set the PATH for it.

pip install tabula-py


tabula-py enables you to extract tables from a PDF into a DataFrame, or a JSON. It can also extract tables from a PDF and save the file as a CSV, a TSV, or a JSON.  

import tabula

# Read pdf into list of DataFrame
dfs = tabula.read_pdf("test.pdf", pages='all')

# Read remote pdf into list of DataFrame
dfs2 = tabula.read_pdf("")

# convert PDF into CSV file
tabula.convert_into("test.pdf", "output.csv", output_format="csv", pages='all')

# convert all PDFs in a directory
tabula.convert_into_by_batch("input_directory", output_format='csv', pages='all')

See an example notebook for more details. I also recommend reading the tutorial article written by @aegis4048, and another tutorial written by @tdpetrou.


Interested in helping out? I'd love to have your help!

You can help by:

  • Reporting a bug.
  • Adding or editing documentation.
  • Contributing code via a Pull Request. See also for the contribution
  • Write a blog post or spread the word about tabula-py to people who might be able to benefit from using it.


Another support

You can also support our continued work on tabula-py with a donation on GitHub Sponsors or Patreon.

Popular Dataframe Projects
Popular Pandas Projects
Popular Control Flow Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Pandas Dataframe