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

Need Help on String Formatting

我已经用python 3编写了这个程序,它使用一个csv文件来查找特定状态的最小和最大死亡率。

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

  • 不同的状态在其名称中有不同的字符长度,并且间距正确显示,如何使用字符串格式使字符串空间均匀分布,而不管打印的字符数是多少?
  • 以下是我的资料:

    1
    2
    3
    4
    print ("
    "
    ,"Indicator                       |","Min                  ",
          "        | Max    ")
    print ("-----------------------------------------------------------------------------------------------")

    这是输出:

    enter image description here

    它对"明尼苏达州"很有效,但对"哥伦比亚特区"来说格式不均匀。

    有什么建议吗?谢谢。


    使用如下所述的字符串格式:http://docs.python.org/release/3.1.5/library/string.html

    例如。:

    1
    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在小数点后。