问题描述
如何在python中将可变长度字符串格式化为统一列?我正在将数据库中的数据读取到列中(总共 2 列),我正在尝试使用 python format()
左对齐第一列并右对齐第二列。
这是我目前使用的代码:
cur.execute("SELECT * FROM test")
for items in cur:
list_Box.insert(1,"{:1<50}{2:>58}".format(
items[0],str(items[1])))
这是当前的结果:
无论我在 format()
中尝试什么值,日期都不会统一右对齐。
解决方法
您是否使用等宽字体(每个字符占据相同的水平空间)?它应该像这样工作:
datas = [
('********','2021-07-28 20:5:0'),('*****','2021-07-28 20:57:1'),('************','2021-07-28 20:57:10'),('*****************','2021-07-28 20:57:33'),('** ******','2021-07-28 20:57:34'),('********','2021-07-28 20:57:59'),]
for data,datum in datas:
print(f'{data: <80}|{datum: >20}')