Writing tables in python

How to Create Table in Python

In this document, you will learn how to create tables in Python, how to format them, and how parsing is useful. Python provides tabulate library to create tables and format them.

To install the tabulate library execute the below command on your system:

What is Tabulate Module?

This module helps in pretty-print tabular data in Python; a library that helps in providing better command-line utility. The main usages of the module are:

  • printing miniature sized tables without hassle or formatting tools. It requires only one function call, nor another formatting requirement. This module can easily understand how to frame the table.
  • composing tabular data for lightweight plain-text markup: numerous output forms appropriate for additional editing or transformation
  • readable presentation of diverse textual and numeric data: configurable number formatting, smart column alignment, alignment by a decimal point
Читайте также:  Today's Date

It leverages a method called the tabulate() that takes a list containing n nested lists to create n rows table.

from tabulate import tabulate table = [[‘Aman’, 23],[‘Neha’, 25],[‘Lata’, 27]] print(tabulate(table))

Explanation:

Here we have used the module Tabulate that takes a list of lists (also known as a nested list) and stored it under the object name table. Then we use the tabulate() method where we passed the table object (nested list). This will automatically arrange the format in a tabular fashion.

Table Headers

To get headers or column headings you can use the second argument in tabulate() method as headers. For example,

from tabulate import tabulate table = [[‘Aman’, 23], [‘Neha’, 25], [‘Lata’, 27]] print(tabulate(table), headers = [‘Name’, ‘Age’])

Explanation:

Here we have used the module Tabulate that takes a list of lists (also known as a nested list) and stored it under the object name table. Then we use the tabulate() method where we passed the ‘table’ object (nested list). This time we take another parameter headers that takes two string values ‘Name’ and ‘Age’ that will be the title of the columns. This will automatically arrange the format in a tabular fashion.

In the list of lists, you can assign the first list for column headers containing all column headings, and assign headers’ value as “firstrow”.

from tabulate import tabulate table = [['Name', 'Age'], ['Aman', 23], ['Neha', 25], ['Lata', 27]] print(tabulate(table, headers = "firstrow" ))

You can also pass a dictionary to tabulate() method where keys will be the column headings and assign headers’ value as “keys”.

from tabulate import tabulate table = [['Name', 'Age'], ['Aman', 23], ['Neha', 25], ['Lata', 27]] print(tabulate(, headers = 'keys'))

Row Index

You can display the index column containing indexes for all rows in the table.

tabulate(<"Name":['Aman', 'Lata', 'Neha'], 'Age': [23, 25, 28]>, headers = 'keys', showindex = True)

To hide the index column you can use showindex as ‘False’ or showindex as ‘never’ .

tabulate(<"Name":['Aman', 'Lata', 'Neha'], 'Age' : [23,25,28]>, headers = 'keys', showindex = "never")
tabulate(<"Name":['Aman', 'Lata', 'Neha'],'Age':[23,25,28]>, headers = 'keys', showindex = False)

To have a custom index column, pass an iterable as the value of showindex argument.

li=[2,4,6] tabulate(<"Name":['Aman', 'Lata', 'Neha'],'Age':[23,25,28]>, headers = 'keys', showindex = li)

Number formatting

The tabulate() method allows you to display the specific count of numbers after a decimal point in a decimal number using floatfmt argument.

Example: Adding a new column Height in the above example:

table=tabulate(<"Name":['Aman', 'Lata', 'Neha'],'Age':[23,25,28],'Height':[153.4567,151.2362,180.2564]>, headers='keys')

Formatting the height values up to two digits:

tabulate(<"Name":['Aman', 'Lata', 'Neha'],'Age':[23,25,28], 'Height':[153.4567,151.2362,180.2564]>, headers='keys', floatfmt='.2f')

Table format

You can format the table in multiple ways using tablefmt argument. Following are a few of them:

plain: It formats the table in a plain simple way without any outer lines:

tabulate(<"Name":['Aman', 'Lata', 'Neha'],'Age':[23,25,28]>, headers='keys', tablefmt="plain")

simple: It is the default formatting in tabulate() method that displays the table with one horizontal line below the headers:

tabulate(<"Name":['Aman', 'Lata', 'Neha'],'Age':[23,25,28]>, headers='keys', tablefmt="simple")

html: It displays the table in html code format:

tabulate(<"Name":['Aman', 'Lata', 'Neha'],'Age':[23,25,28]>, headers='keys', tablefmt="html")

jira: Displays the table in Atlassian Jira markup language format:

tabulate(<"Name":['Aman', 'Lata', 'Neha'],'Age':[23,25,28]>, headers = 'keys', tablefmt = "jira")

Psql: It displays the table in Postgres SQL form.

For example: tabulate(<"Name":['Aman', 'Lata', 'Neha'],'Age':[23,25,28]>, headers='keys', tablefmt="psql")

Github: It displays the table in GitHub mardown form.

For example: tabulate(<"Name":['Aman', 'Lata', 'Neha'], 'Age':[23,25,28]>, headers = 'keys', tablefmt = "github")

Pretty: Displays table in the form followed by PrettyTables library

For example: tabulate(<"Name":['Aman', 'Lata', 'Neha'], 'Age':[23,25,28]>, headers='keys', tablefmt = "pretty")

PrettyTable Module:

PrettyTable is another Python library that helps in creating simple ASCII tables. It got inspired by the ASCII tables generated and implemented in the PostgreSQL shell psql. This library allows controlling many aspects of a table, such as the the alignment of text, width of the column padding, or the table border. Also it allows sorting data.

Creating a Table using Python:

Creating a table in Python is very easy using the PrettyPrint library. Simply import the module and use its add_row() method to add multiple rows or create a table row-wise.

from prettytable import PrettyTable myTab = PrettyTable(["Agent Name", "Rank", "Division", "Attack Quality"]) # Add rows myTab.add_row(["John", "Major", "B", "90.00 %"]) myTab.add_row(["Kenny", "Captain", "C", "73.50 %"]) myTab.add_row(["Karlos", "Secret", "A", "80.50 %"]) myTab.add_row(["Ray", "Spy", "D", "92.00 %"]) myTab.add_row(["Gaurav", "Technical Head", "A", "89.00 %"]) myTab.add_row(["Bill", "X", "Major", "78.50 %"]) myTab.add_row(["Mark", "X", "Spy", "96.00 %"]) myTab.add_row(["Steve", "X", "Captain", "75.00 %"]) print(myTab)

Example to create a table column-wise:

from prettytable import PrettyTable columns = ["Employee Name", "Class", "Division", "Salary"] myTab = PrettyTable() # Add Columns myTab.add_column(columns[0], ["Karl", "Kenny", "Ray", "Steve", "Gaurav", "David", "Harry"]) myTab.add_column(columns[1], ["A", "A", "A", "A", "A", "A", "A"]) myTab.add_column(columns[2], ["1st", "1st", "1st", "2nd", "1st", "2nd", "1st"]) myTab.add_column(columns[3], ["39K", "43K", "1.2L %", "2.3L", "56K", "73K", "33K"]) print(myTab)

Table plays a significant role in software development where the developer wants to create a formatted output. A lot of CLI-based software requires such formatting. Formatting through tabular form also helps in giving a crisp idea of the data so that the users can easily understand what the data wants to convey. Both these modules work well for representing data in tabular format. Web development using Python also requires these modules.

  • Python Online Compiler
  • Square Root in Python
  • TypeError: ‘int’ object is not subscriptable
  • pip is not recognized
  • Python Continue Statement
  • Armstrong Number in Python
  • Python map()
  • Python String Replace
  • Python String find
  • Invalid literal for int() with base 10 in Python
  • Top Online Python Compiler
  • Python New 3.6 Features
  • Python zip()
  • Python String Title() Method
  • String Index Out of Range Python
  • Python Split()
  • Reverse Words in a String Python
  • Python Combine Lists
  • Compare Two Lists in Python
  • Pangram Program in Python

Источник

Модуль табулирования Python: как легко создавать таблицы в Python?

В этом руководстве вы узнаете, как создавать таблицы в Python, что является необходимым навыком в области науки о данных, с помощью tabulate функция. Мы также узнаем о различных свойствах, связанных с созданием таблиц.

Таблицы Python делает создание и форматирование таблиц простым и эффективным. Начните с импорта модуля. Ты можешь затем создайте таблицу сохраняя ваши данные во вложенном списке и передавая их в функцию табуляции. Чтобы улучшить внешний вид таблицы, используйте атрибут tablefmt и установите для него значение grid для таблицы с рамкой или fancy_grid для более сложной рамки. Если вам нужен HTML-код, установите для tablefmt значение «html».

Читайте также: Как визуализировать фрейм данных в таблицу LaTeX?

Пошаговое руководство по созданию таблиц с помощью модуля Python Tabulate

Без дальнейших церемоний, давайте приступим к созданию таблиц в Python с использованием модуля tabulate.

Шаг 1: подготовка к этапу — импорт табуляций

Во-первых, нам нужно импортировать функцию tabulate из библиотеки tabulate, пакета Python, широко используемого в проектах по науке о данных и машинному обучению. Если это приводит к ошибке, убедитесь, что у вас установлена ​​библиотека tabulate, выполнив команду pip install команду в командной строке.

from tabulate import tabulate

Теперь давайте создадим нашу самую первую таблицу с помощью функции tabulate. В науке о данных часто бывает необходимо организовать большие объемы данных в структурированном, удобочитаемом формате — вот где удобно использовать табулирование Python.

Шаг 2: Построение основ — создание простых таблиц

Данные таблицы хранятся в виде вложенных списков, как показано в приведенном ниже коде.

all_data = [["Roll Number","Student name","Marks"], [1,"Sasha",34], [2,"Richard",36], [3,"Judy",20], [4,"Lori",39], [5,"Maggie",40]]

Чтобы свести данные в таблицу, мы просто передаем данные в tabulate функция. Мы также можем сделать первый вложенный список главой таблицы, используя атрибут, известный как headers .

table1 = tabulate(all_data) table2 = tabulate(all_data,headers="firstrow") print(table1) print(table2)

Результаты обеих таблиц показаны ниже.

----------- ------------ ----- Roll Number Student name Marks 1 Sasha 34 2 Richard 36 3 Judy 20 4 Lori 39 5 Maggie 40 ----------- ------------ -----
Roll Number Student name Marks ------------- -------------- ------- 1 Sasha 34 2 Richard 36 3 Judy 20 4 Lori 39 5 Maggie 40

Представление данных так же важно, как и анализ. Аккуратно выравнивая столбцы и добавляя границы, мы гарантируем, что наши таблицы не только удобочитаемы, но и приятны для глаз.

Шаг 3. Усиление эстетики — форматирование таблицы Python

Чтобы таблицы в Python выглядели лучше, мы можем добавить границы для таблицы, чтобы она выглядела более табличной, а не текстовой. Границы можно добавить с помощью tablefmt атрибут и установите его значение равным grid .

print(tabulate(all_data,headers="firstrow",tablefmt="grid"))
+---------------+----------------+---------+ | Roll Number | Student name | Marks | +===============+================+=========+ | 1 | Sasha | 34 | +---------------+----------------+---------+ | 2 | Richard | 36 | +---------------+----------------+---------+ | 3 | Judy | 20 | +---------------+----------------+---------+ | 4 | Lori | 39 | +---------------+----------------+---------+ | 5 | Maggie | 40 | +---------------+----------------+---------+

Чтобы сделать его лучше, мы можем использовать fancy_grid вместо простой сетки. В таблице Python «fancy_grid» предлагает хорошо отформатированный и визуально привлекательный вывод, подходящий для представления сложных данных в ясной и удобоваримой форме.

print(tabulate(all_data,headers="firstrow",tablefmt="fancy_grid"))
╒═══════════════╤════════════════╤═════════╕ │ Roll Number │ Student name │ Marks │ ╞═══════════════╪════════════════╪═════════╡ │ 1 │ Sasha │ 34 │ ├───────────────┼────────────────┼─────────┤ │ 2 │ Richard │ 36 │ ├───────────────┼────────────────┼─────────┤ │ 3 │ Judy │ 20 │ ├───────────────┼────────────────┼─────────┤ │ 4 │ Lori │ 39 │ ├───────────────┼────────────────┼─────────┤ │ 5 │ Maggie │ 40 │ ╘═══════════════╧════════════════╧═════════╛

Шаг 4: Web Twist — извлечение HTML-кода из Tabulate

Чтобы извлечь HTML-код таблицы, нам нужно установить tablefmt приписывать html . То же самое показано ниже.

print(tabulate(all_data,headers="firstrow",tablefmt="html"))
 
Roll NumberStudent name Marks
1Sasha 34
2Richard 36
3Judy 20
4Lori 39
5Maggie 40

Получение HTML-кода из таблицы обеспечивает шлюз для интеграции ваших данных с веб-приложениями, что еще больше расширяет возможности его использования в науке о данных.

Читайте также: Pandas build_table_schema — создание схемы таблицы из данных.

Подведение итогов: возможности табулирования в Python

В этом уроке мы создали наши собственные табличные данные, используя tabulate функцию, а также узнали о некоторых свойствах таблиц. Библиотеки Python, такие как tabulate и prettytable, не только упрощают работу с данными, но и улучшают читаемость вашего вывода. Независимо от того, работаете ли вы над проектами машинного обучения или углубляетесь в анализ данных, овладение этими инструментами может помочь вам в работе.

Источник

Оцените статью