나는 this과 같은 텍스트를 가지고 있습니다. New Line
및 Colons
으로 나누고 싶습니다. 지금은 New Lines
으로 나눌 것입니다.이 코드를 사용하고 있습니다.새 줄과 콜론으로 줄을 구문 분석하려면 어떻게해야합니까?
`data= data.split('\n')
및 그 부여 strange output. 좀 도와 줄 수있어? 감사합니다
나는 this과 같은 텍스트를 가지고 있습니다. New Line
및 Colons
으로 나누고 싶습니다. 지금은 New Lines
으로 나눌 것입니다.이 코드를 사용하고 있습니다.새 줄과 콜론으로 줄을 구문 분석하려면 어떻게해야합니까?
`data= data.split('\n')
및 그 부여 strange output. 좀 도와 줄 수있어? 감사합니다
이 탭이 있습니다. 일 조금을 청소하려면 다음을 수행하십시오 비어 라인과 전혀 이상하지의 스트립 공백
+1 : 그건 내가 '간결'이라고 부르는 것입니다! –
@imim'.split (':')'을 제거했습니다. 결과는''Artist 's :', 'Music : Ramana Gogula' ''입니다. 이제는 '아티스트'와 '음악'의 가치를 읽을 수 있습니까? 감사 – Kulbir
str.split() 메서드는 하나의 스플리터 만 허용합니다. 이렇게하면 콜론이나 줄 바꿈 중 하나에서 분할 할 수 없습니다.
data = data.replace(':', '\n').split('\n') # split on newlines and colons
당신은 또한 분할을보다 세밀하게 제어를위한 re.split() 기능을 시도 할 수 있습니다
: 당신은 같은과 함께 이러한 한계를 극복 할 수>>> import re
>>> s = 'abc:def\nghi'
>>> re.split(r'\:|\n', s)
['abc', 'def', 'ghi']
어떻게 출력이 이상하다? 제 말은 많은 표가 \t
이고 공백이 있지만 필요에 맞지 않는 것을 설명 할 수 있습니까?
어쩌면 .strip()
줄을 먼저 지정할 수 있습니다. 이렇게하면 공백이 제거됩니다.
이 트릭을
data = list(
line.strip().split(":") for line in data.split("\n")
)
data = filter(None, data)
편집을 수행해야는 "청소기"솔루션하면서 사이먼의 대답은 동일한 결과를 생성합니다.
data = list(
line.strip().split(":") for line in data.split("\n") if line.strip()
)
당신이 묻는대로하고 있지만 탭이 가득차 있습니다.
lines = data.split('\n')
lines = [line.strip() for line in lines]
을 당신은 당신이 예상하는지 같은 자세한 내용을 볼 수 : strip()
를 통해 탭을 제거합니다. 여전히 빈 줄을 떠나
, 그래서 어쩌면 당신은 너무 사람들을 제거 할 수 있습니다 : t \
lines = filter(None, lines)
을 제거합니다
. 그것은 당신이 묻는 것을 정확히합니다. –
@Matt Ball 왜 '\ t \ t \ t \ t \ t' 표시입니까? 나는 또한'stip()'을 시도했지만 운이 아니었다. – Kulbir
입력 파일에 많은 탭 문자가 있어야하기 때문에. –