2017-10-09 20 views
0

私はPythonで、この表を印刷しています:トランク長い文字列 - Pythonの

 
      NOMBRE  POBLACIÓN ENFERMOS SANOS RATA 
     Chile  17000000  0 17000000 0.00 
    Hanslandia  2000000 2000000  0 1.00 
    Bastiland  4000000  0  4000000 -0.01 
     Peru  31000000  0 31000000 0.00 
     Bolivia  10000000 10000000  0 1.00 
    Argentina  43000000  0 43000000 0.00 
    Henryboysnia  4200000 4200000  0 1.00 
    Inglaterra  51000000  0 51000000 0.00 
Dondeeldiabloperdioelponcho 500000  0  500000 0.00 
    Laquebradelaji 11000000 11000000  0 1.00 
     Uruguay  2000000  0  2000000 0.00 
     Paraguay  4000000  0  4000000 0.00 
     Suriname  500000  0  500000 0.00 
    Venezuela  31000000 31000000  0 1.00 
    Fantasilandia  3000000  0  3000000 -0.01 
     USA   300000000 0 3000000000.00 
     NotUSA  20000000  0 20000000 -0.01 
     Mexico  127000000 0 1270000000.00 
    Happyland  5000000  0  5000000 -0.01 
UvuvwevweOnyetenyevweUgwembubwemOssas13000000  0 13000000 -0.01 

この形式のラインコードを使用:

print("{0: ^20}{1: ^9.0f}{2: ^9.0f}{3: ^9.0f}{4: ^5.2f}".format(mundo[country].name,mundo[country].inhabitants,mundo[country].sick[i],mundo[country].healthy[i],mundo[country].rata[i])) 

事があり、長すぎるのです。この文字列vuvwevweOnyetenyevweUgwembubwemOssasがありますが他の列はすべて乱れたものと見なされます。私は調査したと思いますが、{0:. ^20}を実行すると、.は文字列を20文字にトランケートしますが、そのドットを取得すると最初の列は左に揃えられます。どんなアイデアを、なぜ私はこれを行うことができますか?

+0

[長い文字列を切り捨てる](https://stackoverflow.com/q/2872512/669576) –

答えて

0

キャレット後の数字^は、整列に使用される合計幅を指定します。ドット.の後の数字は、文字列をトリミングするために使用されます。specを参照してください。

>>> "{0:^20.20}".format("This-is-much-to-long-to-fit") 
'This-is-much-to-long' 

>>> "{0:^20.20}".format("sort") 
'  sort  ' 

tabulateもご覧ください。