2012-03-08 2 views
4

CSV 파일 사용 방법을 익히는 것에 대한 기본 질문 인 경우 Python에 새로 입문하고 용서해주십시오.Python3 CSV 모듈 및 사전

import csv 
theReader = csv.reader(open('filename.csv'), delimiter=',') 

for line in theReader: 
    print line 

그래서 파일을 열어 볼 수 있었고 화면 전체에 걸쳐 인쇄 할 수있었습니다. 하지만 사전에 데이터를 캡처하려고합니다.

지금 사전 키로 (이상적 '이름을'건너 뛰기)에서 제목과 함께 한 사전을 만들 필요가
Name,Age,Goals,Passes,Fouls 
Ted,21,1,20,1 
Ben,28,5,14,4 

, 다음 사전 값이 통계로 가득 할 :

이 예를 CSV이다. 날짜 (날짜 내가 수동으로 추가 해요) 키로 : : 다음 이름을 가진 다른 사전을 만들려고

오전 i를 CSV의 mondule를 사용하는 것이 아니면 내가 일을해야에도 못했습니다 standar 파일 형식을 사용하고 쉼표로 줄을 구분합니까?

답변

11

파이썬에는 라인을 사전으로 읽는 것을 처리하는 빌트인 라이브러리가 있습니다.

reader 대신에 DictReader입니다. 이 사용

http://docs.python.org/release/3.1.3/library/csv.html#csv.DictReader

각 라인은 사전 대신의 목록이 될 것입니다.

파이썬 2 파이썬 3

from csv import DictReader 
the_reader = DictReader(open('filename.csv', 'r')) 

for line_dict in the_reader: 
    print(line_dict) 
    # {'Name': 'Ted', 'Age': '21', 'Goals': '1', 'Passes': '20', 'Fouls': '1'} 

파이썬 2

, 모드는 'rb'이다.

the_reader = DictReader(open('filename.csv', 'rb')) 
+0

+1. 배터리가 다시 포함되었습니다. –

+3

파이썬 2에서 csv 파일에 대해'open ('filename.csv', 'rb')'이어야합니다. 파이썬 3에서는 모드가''r''입니다. 또한'delimiter = ',''는 csv 모듈에 대한 기본값이므로 삭제 될 수 있습니다. –

+0

오, 이것은 매우 유용합니다. 전에 보지 못했습니다. 귀하의 초고속 회신에 많은 감사드립니다. (비록 python2이지만, 나는 P3에 대해 이해했다.) 그냥이 다른 문제를 우연히 만난 다른 사람들을 위해서도이 다른 게시물을 발견했다. http://stackoverflow.com/questions/1898305/python-csv-into-dictionary – Zenettii