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

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

  • lxml

Optional packages (other than Python packages)

  • libxml2 (faster HTML conversion)

  • 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.20.0.tar.gz (66.5 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.20.0-py2.py3-none-any.whl (44.5 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

File hashes

Hashes for pytablereader-0.20.0.tar.gz
Algorithm Hash digest
SHA256 7679dc718cbc58a7014d7ea2c30c97fd9c9adba4b6bb71606af911798e4440ae
MD5 75ee483bb9dd9427d74e6d31c5750589
BLAKE2b-256 4fb06b2a5de97d4d851be8c84ecde11d0ca6e12b02b753e8807730e5cbe05ff2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytablereader-0.20.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e91f13dc3d9ded48161e3ecd24d5faf8c6d7e9ec045158ecd6bdd7aa0df928f1
MD5 680ea8625ffff151f042c621dbb33b49
BLAKE2b-256 ef49d99542549698cd3fa9e3f9a7617d0b612ff1e533a2ab039ff9d3b4aa698e

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