将可变长度字符串格式化为python中的列

问题描述

如何在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]))) 

这是当前的结果:

enter image description here

无论我在 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}')

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...