Gunakan format untuk mencetak perataan tabel dengan Python. Menggunakan pendekatan .format , Anda bisa menggunakan padding untuk menyelaraskan semua string Anda
Anda juga dapat menggunakan modul tabulasi untuk itu
Contoh perataan tabel cetak python
Contoh sederhana kode pemformatan baris teks dengan Python
table_data = [ ['a', 'b', 'c'], ['ABC', 'b', 'c'], ['a', 'XYZ', 'c'] ] for row in table_data: print("{: >5} {: >5} {: >5}".format(*row))Keluaran
Contoh lain
header = ['X Coordinate', 'Y Coordinate', 'Result'] row = ['100', '200', '300'] rows = [header, row, row, row] print('\n'.join([''.join(['{:16}'.format(x) for x in r]) for r in rows])) _Keluaran
X Coordinate Y Coordinate Result 100 200 300 100 200 300 100 200 300Atau, menggunakan f-string
print('\n'.join([''.join([f'{x:16}' for x in r]) for r in rows]))Mentabulasi
Salah satu solusi yang mungkin adalah mengandalkan beberapa paket yang telah dirancang untuk tujuan ini, seperti tabulasi. Baca lebih lanjut tentang itu
from tabulate import tabulate print(tabulate([[0, 1, 2], [3, 4, 5], [6, 7, 0]], headers=['X', 'Y', 'Z'], tablefmt='orgtbl')) _Keluaran
| X | Y | Z | |-----+-----+-----| | 0 | 1 | 2 | | 3 | 4 | 5 | | 6 | 7 | 0 |JIKA… Anda tidak menyukai tanda hubung, Anda dapat menggunakan ini sebagai gantinya
print(tabulate(table, tablefmt="plain"))_Bagaimana Cara Mencetak Output String "Cantik" dengan Python?
mungkin cukup
template = "{0:8}|{1:10}|{2:15}|{3:7}|{4:10}" # column widths: 8, 10, 15, 7, 10 print(template.format("CLASSID", "DEPT", "COURSE NUMBER", "AREA", "TITLE")) # header for rec in your_data_source: print template.format(*rec)Beri komentar jika Anda memiliki keraguan atau saran tentang topik tabel Python ini
Catatan. IDE. PyCharm 2021. 3. 3 (Edisi Komunitas)
Windows 10
Piton 3. 10. 1
Semua Contoh Python ada di Python 3, jadi Mungkin berbeda dari python 2 atau versi yang ditingkatkan
Rohit
Gelar dalam Ilmu Komputer dan Insinyur. Pengembang Aplikasi dan memiliki banyak pengalaman bahasa Pemrograman. Antusias terhadap teknologi & suka belajar teknis
mentor01
Kaki Raksasa
Postingan. 791
Utas. 94
Bergabung. Sep 2019
Reputasi. 70
Feb-04-2022, 08. 53 soreSaya telah bermain-main dengan panda dan tabulasi tetapi, saya tidak dapat menemukan cara menyelaraskan teks selain dari kolom pertama
Saya telah mencari dan menemukan solusi/peretasan menggunakan konfigurasi gaya dan sepertinya tidak ada yang berhasil untuk saya
Menggunakan kode dari posting sebelumnya yang saya ikuti
import pandas as pd
from tabulate import tabulate
class Portfolio:
def __init__(self):
self.holdings = {}
def buy(self, ticker, shares):
self.holdings[ticker] = self.holdings.get(ticker, 0) + shares
def sell(self, ticker, shares):
self.holdings[ticker] = self.holdings.get(ticker, 0) - shares
def __iter__(self):
return iter(self.holdings.items())
p = Portfolio()
p.buy('Alpha', 15)
p.buy('Beta', 23)
p.buy('Gamma', 9)
p.buy('Gamma', 20)
p.sell('Beta', 5)
df = pd.DataFrame(p)
df.columns=['Stock', 'Shares']
print(tabulate(df, showindex=False, headers=df.columns))
# print('\n\n')
# print(df.to_string(index=False))
# str_len = len(max(p)[0])
#
# for (ticker, shares) in p:
# if len(ticker) < str_len:
# spacer = ' '*(str_len - len(ticker) + 2)
# else:
# spacer = ' '*2
# print(f'{ticker} {spacer} {shares}')_Seperti yang Anda lihat, kolom pertama disejajarkan ke kiri. Bagaimana cara membuat kolom lainnya rata kiri, baik dengan tabulasi atau panda?
Terima kasih atas bantuannya
File-file terlampir
Gambar kecil
Saya menyambut semua umpan balik
Satu-satunya pertanyaan bodoh, adalah pertanyaan yang tidak ditanyakan
Script saya
CookBook - Shmup - Pemutar Musik PyQt5
Membalas
Menemukan
Membalas
snippsat
Postingan. 6.571
Utas. 116
Bergabung. Sep 2016
Reputasi. 487
04-Feb-2022, 09. 17 PM (Pos ini terakhir diubah. Feb-04-2022, 09. 17 PM oleh snippsat. )print(tabulate(df, showindex=False, headers=df.columns, numalign="left"))
Output:
Stock Shares ------- -------- Alpha 15 Beta 18 Gamma 29Atau gunakan salah satu pengaturan format memancingprint(tabulate(df, showindex=False, headers=df.columns, tablefmt="pretty"))
Output:
+-------+--------+ | Stock | Shares | +-------+--------+ | Alpha | 15 | | Beta | 18 | | Gamma | 29 | +-------+--------+Membalas
Menemukan
Membalas
bowlofred
Dan Uskup
Postingan. 1.523
Utas. 3
Bergabung. Maret 2020
Reputasi. 163
Feb-04-2022, 09. 22 siangTabulasi memiliki deskripsi tentang perataan kolom pada halaman modul. Anda harus dapat menyetel default untuk semua kolom numerik (atau kolom string), atau Anda dapat menyetelnya untuk setiap kolom satu per satu
Mencoba
print(tabulate(df, showindex=False, headers=df.columns, numalign="left"))_
Membalas
Menemukan
Membalas
mentor01
Kaki Raksasa
Postingan. 791
Utas. 94
Bergabung. Sep 2019
Reputasi. 70
Feb-05-2022, 07. 04 pagiTerima kasih semuanya. Kira saya membuatnya lebih sulit dari apa itu
Saya menyambut semua umpan balik
Satu-satunya pertanyaan bodoh, adalah pertanyaan yang tidak ditanyakan
Script saya
CookBook - Shmup - Pemutar Musik PyQt5
Membalas
Menemukan
Membalas