2016-10-14 2 views
0

CSV 파일을 읽고 결과를 사전으로 변환해야합니다.cvs 파일을 사전 파이썬으로 읽기

파일 입력 : 아래와 같이 읽은 후

enter image description here

필요한 객체 : 나는 코드 아래에 쓰기하지만 내가 원하는대로 작동하지 않는

defaultdict(<type 'dict'>, {‘Book’: {‘Book’: 1.0, ‘Afnan’: 0, ‘Location’: 0, ‘Love’: 0}, ‘Afnan’: {‘Book’: 0, ‘Afnan’: 1.0, ‘Location’: 0.71, ‘Love’: 0}, ‘Location’: {‘Book’: 0, 'Afnan’: 0.71, ‘Location’: 1.0, ‘Love’: 0}, ‘Love’: {‘Book’: 0, ‘Afnan’: 0, ‘Location’: 0, ‘Love’: 1.0}}) 

. 도와주세요.

reader = unicode_csv_reader(open('cos3.csv')) 
x=list(reader) 
for i in x: 
    if isinstance(i,float): 
     arr=np.array(x).astype('float') 
    else: 
     arr=np.array(x).astype('string') 
d=defaultdict(dict) 
for a in arr: 
    for b in arr: 
     d[a][b]=arr(a) 
+0

스프레드 시트의 이미지는 CSV 파일의 올바른 표현이 아닙니다 **. 구분 기호 나 결과 따옴표는 표시하지 않으며 반대쪽에는 시트 이름 (여기의 표 1)이 파일 안에 있다고 생각할 수 있습니다. 다음 번에 텍스트 편집기 (메모장, vi 등)가 표시 할 내용을 보여주십시오. –

답변

0

난 항상 csv.DictReader를 사용하여 다음과 같이 원하는 형식으로 사전을 구축 :

enter image description here

import csv 
import os 
cwd = os.getcwd() 


d_out = {} 
with open(cwd+'\\example.csv', 'rb') as file_in: 
    reader = csv.DictReader(file_in, restkey=None, restval=None, dialect='excel') 
    for row in reader: 
     d_out.setdefault(row['Key'], {'Book':row['Book'], 'Afnan':row['Afnan'], 'Location':row['Location'], 'Love':row['Love']}) 


print d_out 

희망이 도움이!