0
예주위에 공백이있는 열의 요소를 캡처하는 방법은 무엇입니까?
300 january 10 20
300 februari 120,30 10
300 march 20,30 10
300,10 april 20,30 10
300 may 420,10 10,46
나는 열을 다시 정렬 할 수 있습니다.
내가하는 첫 번째 작업은 구분 기호를 사용하여 텍스트 사이의 열을 구분하는 것입니다. 체육.
(?<=\S)(\s{2,})(?=\S)
또는 (?<=\S)(\s{1,})(?=\S)
그때 나는이 같은 목록에 열을 넣어하려면 :
|300 | |january | | 10 | |20 |
|300 | |februari| |120,30| |10 |
|300 | |march | |20,30 | |10 |
|300,10| | april | | 20,30| |10 |
|300 | |may | |420,10| |10,46|
예상 출력 :
mylist = [['300 ','january ',' 10 ','20 ']
['300 ','februari','120,30','10 '],
['300 ','march ','20,30 ','10 '],
['300,10',' april ',' 20,30','10 '],
['300 ','may ','420,10','10,46']]
나는 방법을 캡처하는 방법 아무 생각이 없다 공백
#find the max length of an element in a column
lengte_temp = [[len(x) for x in row] for row in mylist]
maxlengthcolumn = max(l[len(mylist[0])-1] for l in length_temp)
#add spaces to elements
for b in range(0,len(mylist)):
if length_temp[b][len(mylist[-1])-1] < maxlengthcolumn:
mylist[b][len(mylist[-1])-1] = mylist[b][len(mylist[-1])-1] + ' '*(maxlengthcolumn-length_temp[b][len(mylist[-1])-1])
을 그러나 이것은 열에있는 원소 전에 공간을 제거 :
I 세퍼레이터의 사용 후에 공백 포착이 시도.위의 예와 같이 목록의 요소를 캡처하려면 어떻게해야합니까?
은'csv' 모듈을? –
@Chris_Rands, 내 생각에 csv 모듈은 공백을 존중하지 않습니다. (공백을 제거하고 나중에 요소 사이에 공백 수를 넣어 문자열을 조인) – Reman
그냥 str.split() 메서드를 사용할 수 없습니까? 내가 틀리지 않으면 그것은 공간을 보존한다. – Zafi