[英]Python write to a text file after certain column
我正在使用以下代碼:
f.write(str(foo) + ' ' + str(bar) + '\n')
問題在於,對於每個值, foo
的字母數是不同的,並且我得到以下輸出:
Account Category DORMANT
Last Made Update 21/12/2013
Mortgages Partly Satisfied 0
問題是,因為我對所有值使用相同的空格( ' '
),並且Mortgages Partly Satisfied
是更長的字符串,所以值0
移到右邊。 我想要的輸出是:
Account Category DORMANT
Last Made Update 21/12/2013
Mortgages Partly Satisfied 0
我的問題是:是否可以在一定數量的列之后插入第二個值bar
,以便值始終對齊?
我希望我足夠清楚。
最好將字符串格式與str.format
方法一起使用,如下所示:
items = [
('Account Category', 'DORMANT'),
('Last Made Update', '21/12/2013'),
('Mortgages Partly Satisfied', '0'),
]
for label, value in items:
f.write('{:28} {}\n'.format(label, value))
:28
是寬度說明符。 有關更多信息,請參閱格式字符串文檔 。
Python使您可以通過指定給定字段應使用的字符數來為字符串添加填充。 可以在寫入文件時使用以下方法:
data = [["Account Category", "DORMANT"], ["Last Made Update", "21/12/2013"], ["Mortgages Partly Satisfied", "0"]]
with open('output.txt', 'w') as f:
for v1, v2 in data:
f.write("{:28} {}\n".format(v1, v2))
給你:
Account Category DORMANT
Last Made Update 21/12/2013
Mortgages Partly Satisfied 0
您可以使用ljust
函數,該函數返回左對齊的字符串。
去嘗試一下:
f.write(str(foo).ljust(40) + str(bar) + '\n')
您還可以在文檔中檢查其他方法
這將為您提供下一個輸出:
Last Made Update 21/12/2013
Account Category DORMANT
Mortgages Partly Satisfied 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.