2016-10-13 8 views
0

genfromtxt를 사용하여 CSV 파일 (한 열의 열과 정수 중 하나를 포함하는)을 행렬로 읽은 후 조각화를 사용하려고합니다. 문자열 값을 포함하는 열만 가져 와서 추가 처리를 위해 배열로로드하십시오.파이썬에서 CSV에서 읽은 데이터가있는 행렬에서 열 조각을 사용할 수 없습니다.

CSV 파일 :

explore,1043 
sky, 585 
nikon, 552 
2007, 552 
.... 
나는 CSV로드 genfromtxt를 사용

:

:

my_data = np.genfromtxt('c:/tags.csv', delimiter=',') 

을 나는 컬럼은 문자열을 포함하는 얻기 위해 매트릭스를 슬라이스 할 때

print my_data[:,0] 

다음과 같이 표시됩니다.

이 데이터 유형과 불평 것 같다는
[ nan nan nan 2007. nan nan nan nan nan nan .... 

, 그때는 CSV에 포함 된 데이터 유형을 지정하려고 :

my_data = np.genfromtxt('c:/tags.csv', dtype = [('mystring','S5'), ('myint','i8')], delimiter=',') 

내가 대신 행렬의 튜플의 배열을 얻을 ....

[('flower', 1043L) ('sky', 585L) ('nikon', 552L) ('2007', 552L) ..... ] 

내가 뭘 잘못하고 있니? 첫 번째 열에에만 관심이 있다면

답변

0

, 당신은 문자열의 2 차원 배열로 CSV를로드 할 수

my_data = np.genfromtxt('c:/tags.csv', delimiter=',', dtype='S') 
print my_data[:, 0] 

결과 :

['explore' 'sky' 'nikon' '2007'] 
+0

오 덕분에 남자! dtype = 'S'너무 단순하면서도 강력한 !!! – Artemis

+0

@Artemis 당신은 환영합니다 :) –