需要有关字符串格式的帮助

时间:2012-10-14 03:39:51

标签: python string file

我在Python 3中编写了这个程序,该程序采用CSV文件查找特定状态的最小和最大死亡率。

我基本上已经完成了程序,它在shell中正确输出,但我有一个问题:

  1. 不同的状态在名称中有不同的字符长度,并且间距确实正确,如何使用字符串格式化使字符串空间均匀,而不管打印的字符数是多少?
  2. 这就是我所拥有的:

    print ("\n", "Indicator                       |", "Min                   ",
           "        | Max     ")
    print ("-----------------------------------------------------------------------------------------------")
    

    这是输出:

    enter image description here

    适用于“明尼苏达州”,但对于“哥伦比亚特区”,它的格式不均匀。

    有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:5)

使用字符串格式:http://docs.python.org/release/3.1.5/library/string.html

e.g:

print('{:20} | {:20} {:5.2f} | {:20} {:5.2f}'.format(title, states[statemin], minimum, states[statemax], maximum))

将20替换为将发生的最长字符串。

请注意,我假设最小值和最大值是浮点数,如果它们是字符串,则不能使用“{:x.yf}”表示法,您可以使用{:6}或类似的东西。

{:20}表示字符串使用20个空格字符,即使它更短(更长时间不截断)。 {:5.2f}表示5空格用于浮点数,其中2位于小数点后面。