2017-02-07 5 views
0

저는 파이썬에 익숙하지 않으므로 쉽게 질문 할 수 있지만 실제로 도움이 필요합니다.파이썬에서 파일의 첫 번째 문자열 줄 얻기

정수 행 4.35993 3.456 4.5555

항목은 하나의 공백으로 구분 3.14 4.55 5.66
더블 1 3 5 7 9
플로트 : 나는 다음과 같은 내용이있는 샘플 파일이 있습니다. 파일에서 "Integer"와 "Double"과 같은 첫 단어를 어떻게 얻을 수 있는지 알고 싶습니다. 이 파일 내용을 가져가 내 코드입니다 :

with open('sample.txt','r') as myfile: 
    data=myfile.read() 
    print(data) 

하지만 난 당신이 날이에 도움이 될 가능 .If 라인 (정수, 플로트 또는 더블)의 첫 번째 문자열을하시기 바랍니다 인쇄하는 방법을 몰라? 대단히 감사합니다!

답변

1

readlines()을 사용하면 모든 행을 목록으로 읽고 해당 목록을 반복 할 수 있습니다. 기본 매개 변수가있는 split()은 공백에서 분리되어 목록 유형을 반환합니다. 따라서 인덱스 0을 사용하여 토큰 화 된 목록에서 첫 번째 항목을 가져옵니다. `이 경우 ...`myfile.readlines를()는 결과를 저장하지 않으며 당신은뿐만 아니라 게으르게 라인 파일을 반복 할 수 있기 때문에 '완전히 쓸모 :

with open('sample.txt','r') as myfile: 
    for line in myfile.readlines() 
     print(line.split()[0]) 
+0

는 myfile을 라인에 대한'사용 열심히 선 대신에. –

+0

@ juanpa.arrivillaga 동의. 낡은 습관은 힘들게 죽는다! – nitimalh

+0

도와 주셔서 감사합니다! 한가지 더 질문 해주세요. 내가 지금 그 개인 (Integer, Double, Float)을 가지고 있기 때문에 Integer 또는 Float과 같은 지정된 항목을 어떻게 얻을 수 있습니까? @nitimalh –

0

.split()을 사용해야하고 도움말 슬라이스 구문으로 원하는 것을 제공하십시오.

1
with open('sample.txt', 'r') as myfile: 
    data = myfile.readlines() 
for d in data: 
    print(d.split()[0]) 

  • 사용 readlines은 라인으로 라인을 읽을 수 있습니다.
  • split()은 각 줄을 공백으로 나눕니다.
  • [0]은 원하는 단어 인 첫 번째 색인 위치를 취합니다.
관련 문제