Hướng dẫn create a text table in python - tạo một bảng văn bản trong python

Các thư viện đơn giản nhưng hữu ích để tạo các bảng dựa trên văn bản

Ảnh của Anil Xavier trên unplash

Giới thiệu

Những ngày này, tôi thường dành một chút thời gian để đọc về các gói Python mới vào buổi sáng. Đáng ngạc nhiên, đã có rất nhiều thư viện đơn giản nhưng hữu ích mà tôi ước mình đã biết về chúng sớm hơn.

Tôi đã cố gắng tóm tắt chúng thành các chủ đề khác nhau, và trong bài viết này ngày hôm nay, tôi đã muốn thảo luận về một trong những chủ đề này với bạn: Cách tạo ra các bảng trong Python một cách nhanh chóng?

Bây giờ, hãy để xem những gì chúng ta có ở đây.

Đẹp

PrettyTable là gói Python cho phép bạn tạo các bảng ASCII cơ bản. Các mẫu bảng khác nhau, chẳng hạn như căn chỉnh văn bản hoặc thứ tự dữ liệu, có thể được tùy chỉnh dễ dàng với các mã đơn giản. Để biết thêm chi tiết, hãy để Lôi nhìn vào một vài ví dụ dưới đây.

Nhưng trước tiên, cài đặt gói này bằng cách:

!pip install prettytable 
from prettytable import PrettyTable as pt

Tạo bảng

Chúng tôi có thể áp dụng các phương thức

tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
3 hoặc
tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
4 để tạo các bảng mong muốn. Đầu ra bảng như sau:

Hình 1: Tạo một bảng có hình ảnh đẹp - hình ảnh của tác giả
  • Add_row []: Các hàng dần dần được thêm vào bảng.The rows are gradually added to the table.
tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
  • Add_column []: Các cột được thêm dần vào bảng.The columns are gradually added to the table.
tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]

Đặt tên cho bàn

Chúng ta có thể đặt tên cho bảng bằng cách đặt tiêu đề cho nó với

tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
5

Hình 2: Thêm tiêu đề vào bảng - Hình ảnh của tác giả

Điều chỉnh dữ liệu bảng

Với thuộc tính

tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
6, chúng ta có thể kiểm soát căn chỉnh dữ liệu ở bên phải, trung tâm hoặc bên trái. Chẳng hạn, tôi muốn thay đổi các giá trị dữ liệu của cột chính ở bên trái, đặt
tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
6 thành
tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
8 Tương tự, nếu bạn muốn dữ liệu ở bên phải, hãy đặt nó thành
tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
9 và
tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
0 để định tâm.Major column to the left, set
tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
6 to
tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
8 Similarly, if you want the data on the right, set it to
tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
9 and
tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
0 for centering.

tb.align["Major"] = "l"

Xóa hàng

Thật dễ dàng để loại bỏ các hàng không mong muốn khỏi các bảng. Tất cả những gì bạn phải làm là áp dụng

tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
1 vì tôi không cần hàng cuối cùng nữa, đây là cách tôi xóa nó khỏi bảng của mình:

tb.del_row[2]

Sắp xếp dữ liệu

tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
2 và
tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
3 giúp sắp xếp các giá trị dữ liệu theo một thứ tự cụ thể. Trong khi
tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
2 xác định cột nào được sắp xếp,
tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
3 chỉ định thứ tự sắp xếp.

Ví dụ: phân loại học sinh từ lớp cao nhất đến thấp nhất., Sorting students from the highest grade to the lowest.

Hình 3: Sắp xếp dữ liệu - Hình ảnh của tác giả ____555

Tạo đầu ra HTML

Với sự hỗ trợ của

tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
6, chúng tôi có thể dễ dàng tạo ra đầu ra HTML trong bảng điều khiển.

print[tb.get_html_string[]]

Tabulation

Tabulation là một thư viện khác mà tôi muốn giới thiệu. Về cơ bản, nó khá giống với PrettyTable, nhưng tôi nghĩ rằng nó linh hoạt hơn trong việc tùy chỉnh lưới so với đẹp. Chúng tôi sẽ trải qua một số ví dụ để xem các yếu tố này được tùy chỉnh bằng cách sử dụng các thuộc tính bảng. is another library I’d like to recommend. Basically, it is pretty similar to PrettyTable, but I think it is more flexible in customizing the grid compared to PrettyTable. We will go through some examples to see how these elements are customized using Tabulate attributes.

Chúng tôi có thể cài đặt gói này bằng cách:

!pip install tabulate

Tạo một bảng không có đường dây lưới

Hình 4: Không có dòng lưới - Hình ảnh của tác giả
df =   [["Chi", "Vietnam","Graduate"], 
["John","USA","Graduate"],
["Lily","Belgium","Graduate"]]

#define header names
col_names = ["Name", "Country", "Program"]

#display table
print[tabulate[df, headers=col_names]]

Tạo một bảng với đường lướigrid line

print[tabulate[df, headers=col_names, tablefmt="fancy_grid"]]
Fig 5: Bảng với dòng lưới - Hình ảnh của tác giả

Ngoài

tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
7, có một số định dạng bảng khác mà bạn có thể thử sao cho
tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
8,
tb1 = pt[]#Add headers
column_names = ["ID","Name", "Major"]
#Add columns
tb1.add_column[column_names[0],[1,2,3]]
tb1.add_column[column_names[1],["Chi","John","Lily"]]
tb1.add_column[column_names[2],["Statistics","Business Administration","Statistics"]]
tb1.add_column[column_names[3],[3.5,3.6,3.7]]
print[tb1]
9,
tb.align["Major"] = "l"
0.

Thêm một chỉ mục vào bảng

Thêm chỉ mục: Hiển thị chỉ mục bằng cách áp dụng thuộc tính

tb.align["Major"] = "l"
1Showing index by applying attribute
tb.align["Major"] = "l"
1

Hình 6: Bảng có chỉ mục - Hình ảnh của tác giả

Texttable

Cá nhân, tôi nghĩ rằng đây là thư viện có thể điều chỉnh nhất trong số ba thư viện. Nó có thể kiểm soát chiều rộng cột, điều chỉnh căn chỉnh dữ liệu cả theo chiều ngang và chiều dọc và thay đổi linh hoạt các đường lưới của bảng.

Tạo bảng

Ví dụ: mã bên dưới cho thấy cách tôi tạo một bảng bằng thư viện TextTable. Tương tự như PrettyTable, để có thể chèn một hàng vào bảng bằng cách tạo danh sách với nội dung hàng của hàng và áp dụng đối tượng TextTable đối tượng ____ ____32Function để thêm nó vào bảng.Texttable library. Similar to the PrettyTable, to can insert a row to the table by generating a list with the row’s contents and applying the TextTable object’s

tb.align["Major"] = "l"
2function to add it to the table.

tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
0Fig 7: Bảng có văn bản - hình ảnh của tác giả

Thay đổi chiều rộng của các cột

Chiều rộng của các cột trong bảng có thể được điều chỉnh bằng cách sử dụng

tb.align["Major"] = "l"
3 Tổng số trong danh sách tương ứng với số lượng cột trong bảng.

tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
1

Đặt căn chỉnh dữ liệu

Các phương pháp

tb.align["Major"] = "l"
4and
tb.align["Major"] = "l"
5 có thể được sử dụng để căn chỉnh dữ liệu theo chiều ngang và chiều dọc bên trong các ô bảng.

Với

tb.align["Major"] = "l"
6, đầu vào có thể được đặt là
tb.align["Major"] = "l"
7, tương ứng với căn chỉnh giữa, trái hoặc bên phải.

Với

tb.align["Major"] = "l"
8, chúng tôi có thể chỉ định ____39 cho sự liên kết hàng đầu,
tb.del_row[2]
0 cho căn chỉnh giữa và liên kết dưới cùng.

Lưu ý rằng danh sách đưa vào các hàm căn chỉnh phải có cùng độ dài với số lượng giá trị liên tiếp.

Kiểm soát các dòng

Để thay đổi bản vẽ của các dòng giữa các hàng và cột, cũng như giữa tiêu đề và hàng đầu tiên, hàm

tb.del_row[2]
2 được sử dụng. Trong
tb.del_row[2]
2, có bốn yếu tố kiểm soát:

  • tb.del_row[2]
    4 Đường viền của bảng
  • tb.del_row[2]
    5 Dòng dưới tiêu đề
  • tb.del_row[2]
    6 Các dòng giữa các hàng
  • tb.del_row[2]
    7 Các đường giữa các cột

Bằng cách kết hợp bốn yếu tố đó trong

tb.del_row[2]
8, bạn quyết định tính năng nào có sẵn cho bảng. Ví dụ: tôi chọn giữ các dòng bên dưới tiêu đề và giữa các hàng trong mã bên dưới. Đồng thời, tôi không đề cập đến
tb.del_row[2]
4 và
tb.del_row[2]
7 có nghĩa là tôi tắt các đường giữa các cột và xung quanh bảng.

tb = pt[]#Add headers
tb.field_names = ["ID","Name", "Major","Grade"]
#Add rows
tb.add_row[[1,"Chi", "Statistics",3.5]]
tb.add_row[[2,"John","Business Administration"],3.6]
tb.add_row[[3,"Lily","Satistics"],3.7]
print[tb]
2Fig 8: Kiểm soát các dòng - Hình ảnh của tác giả

Sự kết luận

Trên đây là một số gợi ý của tôi để tạo ra một bảng dựa trên văn bản. Tôi hy vọng họ có thể giúp bạn theo một số cách.

Một ngày tốt lành tất cả.

Tài liệu tham khảo

Làm thế nào để bạn tạo một bảng trong Python?

Cách dễ nhất để tạo các bảng trong Python là sử dụng hàm Table [] từ thư viện bảng ...
Để sử dụng chức năng này, trước tiên chúng ta phải cài đặt thư viện bằng PIP: PIP Cài đặt Tabulation ..
Sau đó, chúng ta có thể tải thư viện: từ bảng nhập bảng lập bảng ..

Làm cách nào để tạo bảng trong tệp văn bản?

Chọn văn bản mà bạn muốn chuyển đổi, sau đó nhấp vào Chèn> Bảng> Chuyển đổi văn bản sang bảng.Trong hộp chuyển đổi sang bảng, chọn các tùy chọn bạn muốn.Dưới kích thước bảng, đảm bảo các số khớp với số cột và hàng bạn muốn.Trong hộp chiều rộng cột cố định, nhập hoặc chọn một giá trị.. In the Convert Text to Table box, choose the options you want. Under Table size, make sure the numbers match the numbers of columns and rows you want. In the Fixed column width box, type or select a value.

Làm thế nào để bạn tạo ra một bảng theo cách thủ công trong Python?

Làm thế nào để dễ dàng tạo bảng trong Python..
Cài đặt bảng.Trước tiên chúng tôi cài đặt thư viện Tabulation bằng cách cài đặt PIP trong dòng lệnh: PIP Cài đặt Tabulation ..
Nhập chức năng bảng.....
Danh sách danh sách.....
Từ điển của Iterables.....
giá trị bị mất..

Lệnh nào được sử dụng để tạo một bảng trong Python?

Để tạo một bảng bằng Python, bạn cần thực thi câu lệnh CREATE TABLE bằng phương thức EXECUTE [] của con trỏ của pyscopg2.CREATE TABLE statement using the execute[] method of the Cursor of pyscopg2.

Bài Viết Liên Quan

Chủ Đề