Skip to main content

A Python library to load structured table data from files/strings/URL with various data format: CSV/Excel/Google-Sheets/HTML/JSON/LTSV/Markdown/SQLite/TSV.

Project description

pytablereader

Summary

A Python library to load structured table data from files/strings/URL with various data format: CSV/Excel/Google-Sheets/HTML/JSON/LTSV/Markdown/SQLite/TSV.

https://badge.fury.io/py/pytablereader.svg Linux CI test status Windows CI test status https://coveralls.io/repos/github/thombashi/pytablereader/badge.svg?branch=master https://img.shields.io/github/stars/thombashi/pytablereader.svg?style=social&label=Star

Features

  • Extract structured tabular data from various data format:
  • Supported data sources are:
    • Files on a local file system

    • Accessible URLs

    • str instances

  • Loaded table data can be used as:

Examples

Load a CSV table

Sample Code:
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.dump_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.dump_tabledata(table_data)),
    ]))
Output:
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
    ======  ======  ======

Get loaded table data as pandas.DataFrame instance

Sample Code:
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:
     a    b
0    1    2
1  3.3  4.4

For more information

More examples are available at http://pytablereader.rtfd.io/en/latest/pages/examples/index.html

Installation

pip install pytablereader

Dependencies

Python 2.7+ or 3.4+

Mandatory Python packages

Optional Python packages

  • pypandoc
    • required when loading MediaWiki file

  • pandas
    • required to get table data as a pandas data frame

Optional packages (other than Python packages)

  • lxml (faster HTML convert if installed)

  • pandoc (required when loading MediaWiki file)

Test dependencies

Documentation

http://pytablereader.rtfd.io/

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytablereader-0.19.0.tar.gz (64.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytablereader-0.19.0-py2.py3-none-any.whl (41.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pytablereader-0.19.0.tar.gz.

File metadata

File hashes

Hashes for pytablereader-0.19.0.tar.gz
Algorithm Hash digest
SHA256 0dc9336e87226ab1faf79ff2154d4609dd1acb4bc3650f9fb885e2cc2bc5e9ed
MD5 f5d582b5170293e630fd4afeb3395f2f
BLAKE2b-256 6fc9334ff913acac1e2438602832534ba906581cacdf6f203adbc9b75f8aeaa0

See more details on using hashes here.

File details

Details for the file pytablereader-0.19.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pytablereader-0.19.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fcf030ac66d3c298743a45ac0b3601d904ac758dacde5c2b6c063c45d472ba13
MD5 3b635a9bd33a59876537c6ede960c31b
BLAKE2b-256 a086e9e779449d86def7a14d8080d2d83a5e1b275b7eadfaea572684d688820a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page