python tabulate打印字段没有齐
时间: 2024-09-22 10:01:58 浏览: 52
当使用Python的`tabulate`库打印表格时,如果数据的字段没有对齐,可能会导致表格看起来不整齐。`tabulate`默认按照列宽来对齐文本,但如果某些列的内容比其他列长,就可能出现字段不齐的情况。
你可以通过设置`tabulate`的`tablefmt`参数来自定义表格格式,其中`fancy_grid`, `grid`, 或者 `pipe` 等格式可能会帮助调整列宽以适应内容。例如:
```python
from tabulate import tabulate
data = [
['Name', 'Age', 'City'],
['Alice', '25', 'New York'],
['Bob', '30', 'Los Angeles'],
]
# 使用 "pretty" 格式,自动调整列宽
print(tabulate(data, tablefmt="pretty"))
# 或者手动设置列宽,如下面这样:
headers = ['Name', 'Age', 'City']
rows = [['Alice', '25', 'New York'], ['Bob', '30', 'Los Angeles']]
widths = [max(len(str(cell)) for cell in col) for col in zip(*rows)]
print(tabulate(rows, headers=headers, tablefmt="pipe", colalign=("center",) * len(headers)))
```
如果你想要所有列都左对齐,可以添加`colalign=("left",) * len(headers)`。如果需要右对齐,可以改为`colalign=("right",) * len(headers)`。
阅读全文