mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
30 lines
696 B
Python
30 lines
696 B
Python
import csv
|
|
import io
|
|
|
|
from textual.app import App, ComposeResult
|
|
from textual.widgets import DataTable
|
|
|
|
CSV = """lane,swimmer,country,time
|
|
4,Joseph Schooling,Singapore,50.39
|
|
2,Michael Phelps,United States,51.14
|
|
5,Chad le Clos,South Africa,51.14
|
|
6,László Cseh,Hungary,51.14
|
|
3,Li Zhuhao,China,51.26
|
|
8,Mehdy Metella,France,51.58
|
|
7,Tom Shields,United States,51.73
|
|
1,Aleksandr Sadovnikov,Russia,51.84"""
|
|
|
|
|
|
class TableApp(App):
|
|
def compose(self) -> ComposeResult:
|
|
yield DataTable()
|
|
|
|
def on_mount(self) -> None:
|
|
table = self.query_one(DataTable)
|
|
rows = csv.reader(io.StringIO(CSV))
|
|
table.add_columns(*next(rows))
|
|
table.add_rows(rows)
|
|
|
|
|
|
app = TableApp()
|