2017-10-09 22 views
0

내가 파이썬에서이 테이블을 인쇄하고 있습니다 :트렁크 긴 문자열 - 파이썬

 
      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도 확인해야합니다.