2016-10-09 3 views
0

내가이 형식의 행을 포함하는 .txt 파일을 수레합니다 : 구문 분석 텍스트 위치 벡터는

{"Position":[81.2305,4.05698,9.14912]} 

내가 오픈 브래킷과 다음에 따옴표로 묶여 이름으로 시작하는 다른 라인을 많이 가지고 있기 때문에

세미콜론으로 다음과 같이 두 줄로 나누었습니다.

[ '{"Position":', '[81.2305,4.05698,9.14912]}' ] 

두 번째 문자열을 3 개의 float 목록으로 구문 분석하고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

3

귀하의 데이터는 JSON처럼 보이는, 그래서 당신은 내장 된 JSON 모듈을 사용할 수 있습니다

import json 

pos = [] # list of (x,y,z) 

with open('t.txt') as infile: 
    for line in infile: 
     # skip blank lines (add other cases as needed) 
     if not line.strip(): 
      continue 

     item = json.loads(line) 
     if "Position" in item: 
      pos.append(item["Position"]) 

print(pos) 
0
import re  
re.sub(r':',':#',s).split('#')