Python 如何格式化没有行标签的表格数据?
例如,现在的输出是:Python 如何格式化没有行标签的表格数据?,python,formatting,Python,Formatting,例如,现在的输出是: Temp [C] v [m3/kg] u [kJ/kg] s [kJ/kgK] Temp [C] 1 2 1 3 v [m3/kg] 0 1 0 3 u [kJ/kg] 2 4 2
Temp [C] v [m3/kg] u [kJ/kg] s [kJ/kgK]
Temp [C] 1 2 1 3
v [m3/kg] 0 1 0 3
u [kJ/kg] 2 4 2 3
s [kJ/kgK] 2 4 2 3
我希望它看起来像:
Temp [C] v [m3/kg] u [kJ/kg] s [kJ/kgK]
1 2 1 3
0 1 0 3
2 4 2 3
2 4 2 3
以下是我当前使用的代码:
units = ['Temp [C]', 'v [m3/kg]', 'u [kJ/kg]', 's [kJ/kgK]']
data = ([1, 2, 1, 3], [0, 1, 0, 3], [2, 4, 2,3], [2, 4, 2,3])
format_row = "{:>12}" * (len(units) + 1)
print(format_row.format("", *units))
for unit, row in zip(units, data):
print(format_row.format(unit, *row))
当我尝试右对齐(fmt_string='{:>15}'*len(units))时,我的输出会向右移动,包括开始部分。如何修复此问题?@quilicam您可以更改它
fmt_string='{:
units = ['Temp [C]', 'v [m3/kg]', 'u [kJ/kg]', 's [kJ/kgK]']
data = ([1, 2, 1, 3], [0, 1, 0, 3], [2, 4, 2,3], [2, 4, 2,3])
fmt_string = '{:<15}' * len(units)
print(fmt_string.format(*units))
for row in data:
print(fmt_string.format(*row))
Temp [C] v [m3/kg] u [kJ/kg] s [kJ/kgK]
1 2 1 3
0 1 0 3
2 4 2 3
2 4 2 3