pytablereader
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.
table
tags)str
instancesdict
instanceSample 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.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: |
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: |
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
|
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
logging
extrasexcel
extrasmd
extrasmediawiki
extrassqlite
extrasurl
extraslibxml2
(faster HTML conversion)https://pytablereader.rtfd.io/
pytablereader
can be written another tabular data format with pytablewriter
.