2014-09-19 5 views
0

나는파이썬 NumPy와 텍스트 파일 분할

[ABC] [text text] [1234] 
[DEF] [text text: text] [2345] 
.... 

내가 배열로 열을 분할 할 텍스트 파일이 있습니다.

names = [ ABC , DEF] 
text = [text text, text text: text] 
values = [1234, 2345] 

나는 numpy.genfromtxt으로 노력하고 있지만 텍스트 내용에서 공백이 같은 구분 기호를 설정하는 방법을 잘 모르겠습니다. 어떤 식 으로든 구분자를 '[]'로 정의 할 수 있습니까?

답변

0

다음은 열을 행으로 전환하는 예제입니다.

>>> import numpy as np 
>>> s = "[ABC] [text text] [1234]\n[DEF] [text text: text] [2345]" 
>>> lines = s.split('\n') 
# this is were the delimiters are split apart --vvv 
>>> rows = [line.lstrip('[').rstrip(']').split('] [') for line in lines] # list comprehension 
>>> rows 
[['ABC', 'text text', '1234'], ['DEF', 'text text: text', '2345']] 
>>> np_rows = np.array(rows) 
>>> np_rows.T 
array([['ABC', 'DEF'], 
     ['text text', 'text text: text'], 
     ['1234', '2345']], 
     dtype='|S15') 
>>> np_rows.transpose() 
array([['ABC', 'DEF'], 
     ['text text', 'text text: text'], 
     ['1234', '2345']], 
     dtype='|S15')