나는 문자열과 수레를 모두 요소로 포함하는 여러 목록을 가지고 있습니다.파이썬에서 numpy.savetxt를 사용하여 서로 다른 길이의 열을 정렬하는 방법은 무엇입니까?
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
을 보일 것이다
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'))
이 파일을 실행했을 때 얻을 출력은 다음과 같다 문자열에 정의 된 최대 너비가없는 경우이 같은 출력 (정렬 된 머리글 포함). 나는 문자열 (fmt)의 형식을 수정하려고 시도했지만, 지금까지는 운이 없다.
- 고마워요!
이것은 내가 찾고있는 것입니다! Thanks @ HennyH – Victor
이와 같이 포맷팅 방법을 수동으로 연결할 필요가 없습니다. 중첩 된 형식 만 사용하십시오. 예를 들어,''{1 :^{0}}. format ('% s', max_len)'. 그리고 그것들을 수동으로 체인으로 묶고 싶다면, 왜'%'-formatting과'{}'-formatting을 번갈아 사용해야합니까? (답을 구하는 것보다 OP에 대한 질문이 더 많습니다. 예를 들어 그저 답을 찾았으므로, 한 걸음 더 내딛었습니다. 다시 한 번 번갈아 가며 ...) – abarnert