Skip to main content

A tool to convert array into latex tables

Project description

array2latex
============

It converts NumPy's arrays into valid LaTeX tables. I use NumPy a lot, and it is always the case that I wanted to convert some array to latex. I wanted something that `imported' in my jupyter notebook such that when I get my results I will directly convert them into LaTeX table (as oppose of converting them into a csv file, and then convert that into LaTeX using other service)

In my thesis, I used `Tables Generator<https://www.tablesgenerator.com>`_ which is really cool and very awesome. But it is not what I wanted, the step of converting into csv, and then uploading to the website was just not the very best way to do that.

Uses
----

First you need to install it via pip using

.. code-block:: python

pip install array2latex

Or using Anaconda, both work just fine, and they will always have the same lates version

.. code-block:: python

conda install -c adonese array2latex

Starting `array2latex` is very simple. It is meant to be integrated with your workflow e.g., working with numpy array and output the final result into `LaTeX` table

.. code-block:: python

from array2latex import tolatex
import numpy as np
# Assuming that you have done some cool stuffs with `NumPy`, you have
# you output and want them to be in latex format
# For me I will just use NumPy random array!
array = np.random.rand(3, 4) # Create 3,4 random matrix
table = tolatex(array, header=header)
# And thats it! You now have a valid LaTeX table.

But there are even more to add. `array2latex` only have 2 required argumets, the array you want to convert (obviously), and the header of your table. You can also sepecify a `caption` of you table, and you can also add a `label` as you would normally do in a typical table in LaTeX. To do that is very simple actually, you just need to do

.. code-block:: python

# Assuming you have imported all the necessary packages, and done you cool stuffs with numpy
array = np.random.rand(3, 4) # Create 3,4 random matrix
table = tolatex(array, header=["col1", "col2", "col3", "col4"], caption="My cool table", label="table:cool-table")

In the previous examples the output will be the stdout, i.e., your `jupyter notebook` or your terminal. However, we also allow you to store the results in a file. To do that

.. code-block:: python

# Assuming you have imported all the necessary packages, and done you cool stuffs with numpy
array = np.random.rand(3, 4) # Create 3,4 random matrix
table = tolatex(array, header=["col1", "col2", "col3", "col4"], caption="My cool table", label="table:cool-table", output_file="somefile.txt") # The extenstion of the file doesn't really matter. It's just a txt file anyway.

So yes this is the whole about `array2latex`.

TODO
-----

- Include Pandas dataframes. I could already done that lazily by detecting the input type and then convert it to numpy and the rest of the code will be unchanged.
- Refactoring the code, etc. It is a must. The code is horrible, yet it works, efficiently? I guess
- Adding comments, using more informative names for variables. I really wish I could found something more informative than string_arry.
- Please, this code is yours, fork it, modify it, pull request, etc. so that we have a better tool to convert NumPy arrays and other arrays into LaTeX tables.


Project details


Download files

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

Source Distribution

array2latex-0.5.tar.gz (2.4 kB view hashes)

Uploaded Source

Built Distribution

array2latex-0.5-py2.py3-none-any.whl (4.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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