<p>@JR ibkr@Willem Van Onsem我能够使用Willem的方法和JR的方法组合填充所有列:</p>
<pre><code>select_stmt = "SELECT site, user,password, email1, email2, comment, date FROM account"
mycursor.execute(select_stmt)
myresult = mycursor.fetchall()
len_site = max(map(lambda x: len(str(x[0])), myresult)) #site
len_user = max(map(lambda x: len(str(x[0])), myresult)) #user
len_pw = max(map(lambda x: len(str(x[0])), myresult)) #pw
len_em1 = max(map(lambda x: len(str(x[0])), myresult)) #email1
len_em2 = max(map(lambda x: len(str(x[0])), myresult)) #email2
#len_com = max(map(lambda x: len(str(x[0])), myresult)) #comments (This did not pad correctly. It protruded into the dates column)
len_dt = max(map(lambda x: len(str(x[0])), myresult)) #date
for site, user, pwd, em1, em2, com, dt in myresult:
print ('{} {} {} {} {} {:<65} {}'.format(str(site).ljust(len_site),
str(user).ljust(len_user), str(pwd).ljust(len_pw), str(em1).ljust(len_em1),
str(em2).ljust(len_em2), str(com), str(dt).ljust(len_dt)))
</code></pre>
<p>在正常情况下,你是对的,我可能不想打印所有列,但我这样做是为了学习严格。由于某些原因,注释列没有正确填充,所以我只是手动输入了最大长度65。不确定这是不是最有效的方法,我想听听你的看法。谢谢</p>