
Security News
Django Joins curl in Pushing Back on AI Slop Security Reports
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
pytablereader is a Python library to load structured table data from files/strings/URL with various data format: CSV / Excel / Google-Sheets / HTML / JSON / LDJSON / LTSV / Markdown / SQLite / TSV.
.. contents:: pytablereader :backlinks: top :depth: 2
pytablereader <https://github.com/thombashi/pytablereader>
__ is a Python library to load structured table data from files/strings/URL with various data format: CSV / Excel / Google-Sheets / HTML / JSON / LDJSON / LTSV / Markdown / SQLite / TSV.
.. image:: https://badge.fury.io/py/pytablereader.svg :target: https://badge.fury.io/py/pytablereader :alt: PyPI package version
.. image:: https://img.shields.io/pypi/pyversions/pytablereader.svg :target: https://pypi.org/project/pytablereader :alt: Supported Python versions
.. image:: https://img.shields.io/pypi/implementation/pytablereader.svg :target: https://pypi.org/project/pytablereader :alt: Supported Python implementations
.. image:: https://github.com/thombashi/pytablereader/actions/workflows/lint_and_test.yml/badge.svg :target: https://github.com/thombashi/pytablereader/actions/workflows/lint_and_test.yml :alt: CI status of Linux/macOS/Windows
.. image:: https://coveralls.io/repos/github/thombashi/pytablereader/badge.svg?branch=master :target: https://coveralls.io/github/thombashi/pytablereader?branch=master :alt: Test coverage
.. image:: https://github.com/thombashi/pytablereader/actions/workflows/github-code-scanning/codeql/badge.svg :target: https://github.com/thombashi/pytablereader/actions/workflows/github-code-scanning/codeql :alt: CodeQL
TM
fileGoogle Sheets <https://www.google.com/intl/en_us/sheets/about/>
_table
tags)Labeled Tab-separated Values (LTSV) <http://ltsv.org/>
__Line-delimited JSON(LDJSON) <https://en.wikipedia.org/wiki/JSON_streaming#Line-delimited_JSON>
__ / NDJSON / JSON Linesstr
instancespandas.DataFrame <https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html>
__ instancedict
instance:Sample Code: .. code-block:: python
import pytablereader as ptr
import pytablewriter as ptw
# prepare data ---
file_path = "sample_data.csv"
csv_text = "\n".join([
'"attr_a","attr_b","attr_c"',
'1,4,"a"',
'2,2.1,"bb"',
'3,120.9,"ccc"',
])
with open(file_path, "w") as f:
f.write(csv_text)
# load from a csv file ---
loader = ptr.CsvTableFileLoader(file_path)
for table_data in loader.load():
print("\n".join([
"load from file",
"==============",
"{:s}".format(ptw.dumps_tabledata(table_data)),
]))
# load from a csv text ---
loader = ptr.CsvTableTextLoader(csv_text)
for table_data in loader.load():
print("\n".join([
"load from text",
"==============",
"{:s}".format(ptw.dumps_tabledata(table_data)),
]))
:Output: .. code-block::
load from file
==============
.. table:: sample_data
====== ====== ======
attr_a attr_b attr_c
====== ====== ======
1 4.0 a
2 2.1 bb
3 120.9 ccc
====== ====== ======
load from text
==============
.. table:: csv2
====== ====== ======
attr_a attr_b attr_c
====== ====== ======
1 4.0 a
2 2.1 bb
3 120.9 ccc
====== ====== ======
:Sample Code: .. code-block:: python
import pytablereader as ptr
loader = ptr.CsvTableTextLoader(
"\n".join([
"a,b",
"1,2",
"3.3,4.4",
]))
for table_data in loader.load():
print(table_data.as_dataframe())
:Output: .. code-block::
a b
0 1 2
1 3.3 4.4
More examples are available at https://pytablereader.rtfd.io/en/latest/pages/examples/index.html
::
pip install pytablereader
Some of the formats require additional dependency packages, you can install the dependency packages as follows:
pip install pytablereader[excel]
pip install pytablereader[gs]
pip install pytablereader[md]
pip install pytablereader[mediawiki]
pip install pytablereader[sqlite]
pip install pytablereader[url]
pip install pytablereader[all]
::
sudo add-apt-repository ppa:thombashi/ppa
sudo apt update
sudo apt install python3-pytablereader
Python package dependencies (automatically installed) <https://github.com/thombashi/pytablereader/network/dependencies>
__logging
extras
loguru <https://github.com/Delgan/loguru>
__: Used for logging if the package installedexcel
extras
excelrd <https://github.com/thombashi/excelrd>
__md
extras
Markdown <https://github.com/Python-Markdown/markdown>
__mediawiki
extras
pypandoc <https://github.com/bebraw/pypandoc>
__sqlite
extras
SimpleSQLite <https://github.com/thombashi/SimpleSQLite>
__url
extras
retryrequests <https://github.com/thombashi/retryrequests>
__pandas <https://pandas.pydata.org/>
__
lxml <https://lxml.de/installation.html>
__libxml2
(faster HTML conversion)pandoc <https://pandoc.org/>
__ (required when loading MediaWiki file)https://pytablereader.rtfd.io/
pytablewriter <https://github.com/thombashi/pytablewriter>
__
pytablereader
can be written another tabular data format with pytablewriter
... image:: https://avatars.githubusercontent.com/u/44389260?s=48&u=6da7176e51ae2654bcfd22564772ef8a3bb22318&v=4 :target: https://github.com/chasbecker :alt: Charles Becker (chasbecker) .. image:: https://avatars.githubusercontent.com/u/46711571?s=48&u=57687c0e02d5d6e8eeaf9177f7b7af4c9f275eb5&v=4 :target: https://github.com/Arturi0 :alt: onetime: Arturi0 .. image:: https://avatars.githubusercontent.com/u/3658062?s=48&v=4 :target: https://github.com/b4tman :alt: onetime: Dmitry Belyaev (b4tman)
Become a sponsor <https://github.com/sponsors/thombashi>
__
FAQs
pytablereader is a Python library to load structured table data from files/strings/URL with various data format: CSV / Excel / Google-Sheets / HTML / JSON / LDJSON / LTSV / Markdown / SQLite / TSV.
We found that pytablereader demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.