prettytable中有什么好办法将中文内容对齐
使用prettytable,发现有中文内容时,表格很难对齐,这个怎么办,请指教,谢谢。import prettytable as pt
x = pt.PrettyTable()
x.field_names=(['书名', '作者', '定价', '库存数量'])
library = [
{'bookname': '三体', 'author': '刘慈欣', 'price': 25, 'quality': 5},
{'bookname': '流浪地球', 'author': '刘慈欣', 'price': 30, 'quality': 10},
{'bookname': '雪中悍刀行', 'author': '风雪戏诸侯', 'price': 38, 'quality': 15},
{'bookname': '风声鹤唳', 'author': '君不贱', 'price': 40, 'quality': 7},
{'bookname': '两京十五日', 'author': '马伯庸', 'price': 28, 'quality': 12},
{'bookname': '余罪', 'author': '常书欣', 'price': 70, 'quality': 33},
{'bookname': '长安十二时辰', 'author': '马伯庸', 'price': 28, 'quality': 10}
]
for book in library:
x.add_row(book.values())
print(x)
+--------------+------------+------+----------+
| 书名 | 作者 | 定价 | 库存数量 |
+--------------+------------+------+----------+
| 三体 | 刘慈欣 |25| 5 |
| 流浪地球 | 刘慈欣 |30| 10 |
|雪中悍刀行| 风雪戏诸侯 |38| 15 |
| 风声鹤唳 | 君不贱 |40| 7 |
|两京十五日| 马伯庸 |28| 12 |
| 余罪 | 常书欣 |70| 33 |
| 长安十二时辰 | 马伯庸 |28| 10 |
+--------------+------------+------+----------+
Process finished with exit code 0
中文输出很难对齐的,可以自己写方法,没有很难,不用另外下载模组:names = ['书名', '作者', '定价', '库存数量']
library = [
{'bookname': '三体', 'author': '刘慈欣', 'price': 25, 'quality': 5},
{'bookname': '流浪地球', 'author': '刘慈欣', 'price': 30, 'quality': 10},
{'bookname': '雪中悍刀行', 'author': '风雪戏诸侯', 'price': 38, 'quality': 15},
{'bookname': '风声鹤唳', 'author': '君不贱', 'price': 40, 'quality': 7},
{'bookname': '两京十五日', 'author': '马伯庸', 'price': 28, 'quality': 12},
{'bookname': '余罪', 'author': '常书欣', 'price': 70, 'quality': 33},
{'bookname': '长安十二时辰', 'author': '马伯庸', 'price': 28, 'quality': 10}
]
a, b, c, d = names
print("+----------------+------------+------+----------+")
print(f"| {a:^12} | {b:^8} | {c:^2} | {d:^4} |")
print("+----------------+------------+------+----------+")
for book in library:
a, b, c, d = book.keys()
print(f"| {book:^{14 - len(book)}} | {book:^{10 - len(book)}} | {book:^4} | {book:^8} |")
print("+----------------+------------+------+----------+")+----------------+------------+------+----------+
| 书名 | 作者 | 定价 | 库存数量 |
+----------------+------------+------+----------+
| 三体 | 刘慈欣 |25| 5 |
| 流浪地球 | 刘慈欣 |30| 10 |
| 雪中悍刀行 | 风雪戏诸侯 |38| 15 |
| 风声鹤唳 | 君不贱 |40| 7 |
| 两京十五日 | 马伯庸 |28| 12 |
| 余罪 | 常书欣 |70| 33 |
|长安十二时辰| 马伯庸 |28| 10 |
+----------------+------------+------+----------+ 本帖最后由 hrpzcf 于 2022-1-9 21:57 编辑
换个控制台运行,在pycharm上中文对齐不好,在cmd或者powershell中中文对齐比较好,windows terminal也不错。
如果一定要在编辑器里运行,vscode的集成终端也不错。
vscode集成终端:
Windows Terminal:
hrpzcf 发表于 2022-1-9 21:48
换个控制台运行,在pycharm上中文对齐不好,在cmd或者powershell中中文对齐比较好,windows terminal也不错 ...
谢谢。看来还是开发环境的问题,不纠结了。
页:
[1]