jazzband / prettytable

Display tabular data in a visually appealing ASCII table format
https://pypi.org/project/PrettyTable/
Other
1.32k stars 149 forks source link

argument max_width doesn't work #272

Open aisviper opened 6 months ago

aisviper commented 6 months ago

I try this code

x = PrettyTable(max_width=10)
x.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
x.add_row(["Adelaide", 1295, 1158259, 600.5])
x.add_row(["Brisbane", 5905, 185759411111111111111111111, 1146.4])
x.add_row(["Darwin", 112, 120900, 1714.7])
x.add_row(["Hobart", 1357, 205556, 619.5])
x.add_row(["Sydney", 2058, 4336374, 1214.8])
x.add_row(["Melbourne", 1566, 3806092, 646.9])
x.add_row(["Perth", 5386, 1554769, 869.4])

print(x)

and get:

+-----------+------+-----------------------------+-----------------+
| City name | Area |          Population         | Annual Rainfall |
+-----------+------+-----------------------------+-----------------+
|  Adelaide | 1295 |           1158259           |      600.5      |
|  Brisbane | 5905 | 185759411111111111111111111 |      1146.4     |
|   Darwin  | 112  |            120900           |      1714.7     |
|   Hobart  | 1357 |            205556           |      619.5      |
|   Sydney  | 2058 |           4336374           |      1214.8     |
| Melbourne | 1566 |           3806092           |      646.9      |
|   Perth   | 5386 |           1554769           |      869.4      |
+-----------+------+-----------------------------+-----------------+

if i change code to:

x = PrettyTable(["City name", "Area", "Population", "Annual Rainfall"], max_width=10)
x.add_row(["Adelaide", 1295, 1158259, 600.5])
x.add_row(["Brisbane", 5905, 185759411111111111111111111, 1146.4])
x.add_row(["Darwin", 112, 120900, 1714.7])
x.add_row(["Hobart", 1357, 205556, 619.5])
x.add_row(["Sydney", 2058, 4336374, 1214.8])
x.add_row(["Melbourne", 1566, 3806092, 646.9])
x.add_row(["Perth", 5386, 1554769, 869.4])

print(x)

then the argument works:


+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
|  Adelaide | 1295 |  1158259   |      600.5      |
|  Brisbane | 5905 | 1857594111 |      1146.4     |
|           |      | 1111111111 |                 |
|           |      |  1111111   |                 |
|   Darwin  | 112  |   120900   |      1714.7     |
|   Hobart  | 1357 |   205556   |      619.5      |
|   Sydney  | 2058 |  4336374   |      1214.8     |
| Melbourne | 1566 |  3806092   |      646.9      |
|   Perth   | 5386 |  1554769   |      869.4      |
+-----------+------+------------+-----------------+