Install Prettytable Python

Python module for creating simple ASCII tables. This module is available on PyPI, and has been packaged for several Linux/Unix platforms (Debian, FreeBSD, Fedora, Suse.). If available, cjkwrap library is used instead of textwrap, for a better wrapping of CJK text. If available, wcwidth library is used for a better rendering (basic emoji support). To install the entire PyTables Python package, change back to the root distribution directory and run the following command (make sure you have sufficient permissions to write to the directories where the PyTables files will be installed): $ python3 setup.py install.

Latest version

Released:

Install Prettytable Python Free

Install

module for creating simple ASCII tables

Project description

Python module for creating simple ASCII tables

Availability

This module is available on PyPI, and has been packaged for several Linux/Unix platforms(Debian,FreeBSD, Fedora, Suse...).

Dependencies

If available, cjkwrap library is used instead of textwrap, for a better wrapping of CJK text.

If available, wcwidth library is used for a better rendering (basic emoji support).

Documentation

Forks

  • latextable is a fork of texttable that provide a LaTeX backend.

Release historyRelease notifications | RSS feed

1.6.3

1.6.2

1.6.1

1.6.0

1.5.0

1.4.0

1.3.1

1.3.0

1.2.1

1.2.0

1.1.1

1.1.0

1.0.0

0.9.1

0.9.0

0.8.8

0.8.7

0.8.6

0.8.5

0.8.4

Yum Install Python-prettytable

0.8.3

Prettytable

0.8.2

0.8.1

0.8.0

Download files

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

Files for texttable, version 1.6.3
Filename, sizeFile typePython versionUpload dateHashes
Filename, size texttable-1.6.3-py2.py3-none-any.whl (10.7 kB) File type Wheel Python version py2.py3 Upload dateHashes
Filename, size texttable-1.6.3.tar.gz (14.5 kB) File type Source Python version None Upload dateHashes
Close

Hashes for texttable-1.6.3-py2.py3-none-any.whl

Hashes for texttable-1.6.3-py2.py3-none-any.whl
AlgorithmHash digest
SHA256f802f2ef8459058736264210f716c757cbf85007a30886d8541aa8c3404f1dda
MD58e2633f129a835cb0cfc97d73b520bf4
BLAKE2-25606f546201c428aebe0eecfa83df66bf3e6caa29659dbac5a56ddfd83cae0d4a4
Close

Hashes for texttable-1.6.3.tar.gz

Hashes for texttable-1.6.3.tar.gz
AlgorithmHash digest
SHA256ce0faf21aa77d806bbff22b107cc22cce68dc9438f97a2df32c93e9afa4ce436
MD568e6b31d36f5c20221da7d5db3eca772
BLAKE2-256f5be716342325d6d6e05608e3a10e15f192f3723e454a25ce14bc9b9d1332772
Latest version

Released:

A simple Python library for easily displaying tabular data in a visually appealing ASCII table format

Project description

PTable is a simple Python library designed to make it quick and easy torepresent tabular data in visually appealing ASCII tables, originallyforked from PrettyTable .

This tutorial is distributed with PrettyTable and is meant to serve asa “quick start” guide for the lazy or impatient. It is not an exhaustivedescription of the whole API, and it is not guaranteed to be 100% up todate. For more complete and update documentation, check the PrettyTablewiki at http://code.google.com/p/prettytable/w/list

Getting your data into (and out of) the table

Let’s suppose you have a shiny new PrettyTable:

and you want to put some data into it. You have a few options.

Row by row

You can add data one row at a time. To do this you can set the fieldnames first using the field_names attribute, and then add the rowsone at a time using the add_row method:

Column by column

You can add data one column at a time as well. To do this you use theadd_column method, which takes two arguments - a string which is thename for the field the column you are adding corresponds to, and a listor tuple which contains the column data”

Mixing and matching

If you really want to, you can even mix and match add_row andadd_column and build some of your table in one way and some of it inthe other. There’s a unit test which makes sure that doing things thisway will always work out nicely as if you’d done it using just one ofthe two approaches. Tables built this way are kind of confusing forother people to read, though, so don’t do this unless you have a goodreason.

Importing data from a CSV file

If you have your table data in a comma separated values file (.csv), youcan read this data into a PrettyTable like this:

Importing data from a database cursor

If you have your table data in a database which you can access using alibrary which confirms to the Python DB-API (e.g. an SQLite databaseaccessible using the sqlite module), then you can build a PrettyTableusing a cursor object, like this:

Getting data out

There are three ways to get data out of a PrettyTable, in increasingorder of completeness:

  • The del_row method takes an integer index of a single row todelete.
  • The clear_rows method takes no arguments and deletes all the rowsin the table - but keeps the field names as they were so you that youcan repopulate it with the same kind of data.
  • The clear method takes no arguments and deletes all rows and allfield names. It’s not quite the same as creating a fresh tableinstance, though - style related settings, discussed later, aremaintained.

Displaying your table in ASCII form

PrettyTable’s main goal is to let you print tables in an attractiveASCII form, like this:

You can print tables like this to stdout or get stringrepresentations of them.

Printing

To print a table in ASCII form, you can just do this:

in Python 2.x or:

in Python 3.x.

The old x.printt() method from versions 0.5 and earlier has beenremoved.

To pass options changing the look of the table, use the get_string()method documented below:

Stringing

If you don’t want to actually print your table in ASCII form but justget a string containing what would be printed if you use “print x”,you can use the get_string method:

This string is guaranteed to look exactly the same as what would beprinted by doing “print x”. You can now do all the usual things you cando with a string, like write your table to a file or insert it into aGUI.

Controlling which data gets displayed

If you like, you can restrict the output of print x orx.get_string to only the fields or rows you like.

The fields argument to these methods takes a list of field names tobe printed:

gives:

Install

The start and end arguments take the index of the first and lastrow to print respectively. Note that the indexing works like Python listslicing - to print the 2nd, 3rd and 4th rows of the table, set startto 1 (the first row is row 0, so the second is row 1) and set end to4 (the index of the 4th row, plus 1):

prints:

Changing the alignment of columns

By default, all columns in a table are centre aligned.

All columns at once

Install prettytable python online

You can change the alignment of all the columns in a table at once byassigning a one character string to the align attribute. The allowedstrings are “l”, “r” and “c” for left, right and centre alignment,respectively:

gives:

One column at a time

You can also change the alignment of individual columns based on thecorresponding field name by treating the align attribute as if itwere a dictionary.

gives:

Sorting your table by a field

You can make sure that your ASCII tables are produced with the datasorted by one particular field by giving get_string a sortbykeyword argument, which > must be a string containing the name of onefield.

For example, to print the example table we built earlier of Australiancapital city data, so that the most populated city comes last, we can dothis:

to get

If we want the most populated city to come first, we can also give areversesort=True argument.

If you always want your tables to be sorted in a certain way, you canmake the setting long term like this:

All three tables printed by this code will be sorted by population (youcould do x.reversesort = True as well, if you wanted). The behaviourwill persist until you turn it off:

If you want to specify a custom sorting function, you can use thesort_key keyword argument. Pass this a function which accepts twolists of values and returns a negative or positive value depending onwhether the first list should appeare before or after the second one. Ifyour table has n columns, each list will have n+1 elements. Each listcorresponds to one row of the table. The first element will be whateverdata is in the relevant row, in the column specified by the sort_byargument. The remaining n elements are the data in each of the table’scolumns, in order, including a repeated instance of the data in thesort_by column.

Changing the appearance of your table - the easy way

By default, PrettyTable produces ASCII tables that look like the onesused in SQL database shells. But if can print them in a variety of otherformats as well. If the format you want to use is common, PrettyTablemakes this very easy for you to do using the set_style method. Ifyou want to produce an uncommon table, you’ll have to do things slightlyharder (see later).

Setting a table style

You can set the style for your table using the set_style methodbefore any calls to print or get_string. Here’s how to print atable in a format which works nicely with Microsoft Word’s “Convert totable” feature:

In addition to MSWORD_FRIENDLY there are currently two otherin-built styles you can use for your tables:

  • DEFAULT - The default look, used to undo any style changes youmay have made
  • PLAIN_COLUMN - A borderless style that works well with commandline programs for columnar data

Other styles are likely to appear in future releases.

Changing the appearance of your table - the hard way

If you want to display your table in a style other than one of thein-built styles listed above, you’ll have to set things up the hard way.

Don’t worry, it’s not really that hard!

Style options

PrettyTable has a number of style options which control various aspectsof how tables are displayed. You have the freedom to set each of theseoptions individually to whatever you prefer. The set_style methodjust does this automatically for you.

The options are these:

  • border - A boolean option (must be True or False).Controls whether > > or not a border is drawn around the table.
  • header - A boolean option (must be True or False).Controls whether > > or not the first row of the table is a headershowing the names of all the > > fields.
  • hrules - Controls printing of horizontal rules after rows.Allowed > > values: FRAME, HEADER, ALL, NONE - note that these arevariables defined > > inside the prettytable module so make sureyou import them or use > > prettytable.FRAME etc.
  • vrules - Controls printing of vertical rules between columns.Allowed > > values: FRAME, ALL, NONE.
  • int_format - A string which controls the way integer data isprinted. > > This works like: print '%<int_format>d' % data
  • float_format - A string which controls the way floating pointdata is > > printed. This works like:print '%<int_format>f' % data
  • padding_width - Number of spaces on either side of column data(only used > > if left and right paddings are None).
  • left_padding_width - Number of spaces on left hand side of columndata.
  • right_padding_width - Number of spaces on right hand side ofcolumn data.
  • vertical_char - Single character string used to draw verticallines. > > Default is |.
  • horizontal_char - Single character string used to draw horizontallines. > > Default is -.
  • junction_char - Single character string used to draw linejunctions. > > Default is +.

You can set the style options to your own settings in two ways:

Setting style options for the long term

If you want to print your table with a different style several times,you can set your option for the “long term” just by changing theappropriate attributes. If you never want your tables to have bordersyou can do this:

Neither of the 3 tables printed by this will have borders, even if youdo things like add extra rows inbetween them. The lack of borders willlast until you do:

to turn them on again. This sort of long term setting is exactly howset_style works. set_style just sets a bunch of attributes topre-set values for you.

Note that if you know what style options you want at the moment you arecreating your table, you can specify them using keyword arguments to theconstructor. For example, the following two code blocks are equivalent:

x = PrettyTable(border=False, header=False, padding_width=5)

Changing style options just once

If you don’t want to make long term style changes by changing anattribute like in the previous section, you can make changes that lastfor just one get_string by giving those methods keyword arguments.To print two “normal” tables with one borderless table between them, youcould do this:

Displaying your table in HTML form

PrettyTable will also print your tables in HTML form, as <table>s.Just like in ASCII form, you can actually print your table - just useprint_html() - or get a string representation - just useget_html_string(). HTML printing supports the fields, start,end, sortby and reversesort arguments in exactly the sameway as ASCII printing.

Styling HTML tables

By default, PrettyTable outputs HTML for “vanilla” tables. The HTML codeis quite simple. It looks like this:

If you like, you can ask PrettyTable to do its best to mimick the styleoptions that your table has set using inline CSS. This is done by givinga format=True keyword argument to either the print_html orget_html_string methods. Note that if you always want to printformatted HTML you can do:

and the setting will persist until you turn it off.

Just like with ASCII tables, if you want to change the table’s style forjust one print_html or one get_html_string you can pass thosemethods keyword arguments - exactly like print and get_string.

Setting HTML attributes

You can provide a dictionary of HTML attribute name/value pairs to theprint_html and get_html_string methods using the attributeskeyword argument. This lets you specify common HTML attributes likename, id and class that can be used for linking to yourtables or customising their appearance using CSS. For example:

will print:

Miscellaneous things

Copying a table

You can call the copy method on a PrettyTable object withoutarguments to return an identical independent copy of the table.

If you want a copy of a PrettyTable object with just a subset of therows, you can use list slicing notation:

Release historyRelease notifications | RSS feed

0.9.2

Install prettytable python online

0.9.1

0.9.0

Download files

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

Files for PTable, version 0.9.2
Filename, sizeFile typePython versionUpload dateHashes
Filename, size PTable-0.9.2.tar.gz (31.0 kB) File type Source Python version None Upload dateHashes
Close

Hashes for PTable-0.9.2.tar.gz

Hashes for PTable-0.9.2.tar.gz
AlgorithmHash digest
SHA256aa7fc151cb40f2dabcd2275ba6f7fd0ff8577a86be3365cd3fb297cbe09cc292
MD54a68135b1fc878d13d9df1a41cf4c5ac
BLAKE2-256abb3b54301811173ca94119eb474634f120a49cd370f257d1aae5a4abaf12729