0
我有幾個包含字符串和浮點數的列表作爲它們的元素。如何在Python中使用numpy.savetxt居中對齊不同長度的列?
import numpy as num
COLUMN_1 = ['KIC 7742534', 'Variable Star of RR Lyr type' , 'V* V368 Lyr',
'KIC 7742534', '4.0', '0.4564816']
COLUMN_2 = ['KIC 76', 'Variable Star' , 'V* V33 Lyr',
'KIC 76', '5.0', '0.45']
DAT = num.column_stack((COLUMN_1, COLUMN_2))
num.savetxt('SAVETXT.txt', DAT, delimiter=' ', fmt='{:^10}'.format('%s'))
輸出運行此文件時,我得到的是以下幾點:
KIC 7742534 , KIC 76
Variable Star of RR Lyr type , Variable Star
V* V368 Lyr , V* V33 Lyr
KIC 7742534 , KIC 76
4.0 , 5.0
0.4564816 , 0.45
理想的輸出應該是這樣的(包括對準頭)
#ELEMENT1 ELEMENT2
KIC 7742534 , KIC 76
Variable Star of RR Lyr type , Variable Star
V* V368 Lyr , V* V33 Lyr
KIC 7742534 , KIC 76
4.0 , 5.0
0.4564816 , 0.45
我怎麼能拿像這樣的輸出(帶有對齊的標題),如果字符串沒有定義最大寬度。我已經嘗試修改字符串(fmt)的格式,但至今沒有運氣。
- 謝謝!
這正是我一直在尋找的!謝謝@HennyH – Victor
你不需要像這樣手動鏈接格式化方法;只需使用嵌套格式。例如,'{1:^ {0}}'。格式('%s',max_len)'。即使你想要手動鏈接它們,爲什麼要在'%'格式化和'{}'格式之間切換呢? (這對OP來說更像是一個問題,而不是回答者的問題,因爲你只是遵循他的例子,但你已經走得更遠了,再交替一次,所以......) – abarnert