通过更改值对齐列表

时间:2015-12-15 08:12:24

标签: python list web-scraping string-formatting

我的脚本对文本文件的标题执行以下操作:

file.write("{:50} {:50} {:50}\n".format("Name", "Count", "Price"))

然后通过写出列表的多个线程调用函数:

file.write("{:50}{:50}{:50}".format(*map(str, input)).strip()+ "\n")

这使格式化接近标题,但它们似乎都有点关闭,我假设它与列表内容的可变长度有关。但我不确定如何更改列表中的50以使其正确对齐。

我的输出目前看起来像这样: enter image description here

任何帮助都将不胜感激。

修改 问题已得到解决。 enter image description here

1 个答案:

答案 0 :(得分:3)

方差是由输入包含额外的空格引起的,将线长度推过50个字符。

您需要删除输入,而不是str.format()输出:

file.write("{:50}{:50}{:50}\n".format(*(str(i).strip() for i in input)))

接下来,以固定宽度字体打开文件。您的文字没有对齐,因为不同的字母占用不同的宽度; mi宽。