더북(TheBook)

CSV 라이터는 writerow()writerows() 함수를 제공한다. writerow() 함수는 문자열이나 숫자로 구성된 시퀀스(sequence)를 하나의 레코드로 파일에 기록한다. 숫자는 문자열로 변환되므로 이를 걱정할 필요는 없다. 마찬가지로 writerows() 함수는 문자열이나 숫자 시퀀스의 리스트를 레코드의 묶음으로 파일에 기록한다.

다음 예제에서는 csv 모듈을 사용해 CSV 파일에서 ‘COUNT PARTICIPANTS’ 열을 추출할 것이다. 해당 열의 인덱스는 모르지만, 해당 열은 확실히 존재한다고 가정하자. 데이터 값을 얻기만 한다면 statistics 모듈을 사용해서 나이 변수의 평균과 표준편차를 구할 수 있다.

먼저 파일을 열고 데이터를 읽어 보자. 실습하려면 Demographic_Statistics_By_Zip_Code.csv 파일이 있어야 한다.5


import csv

with open("Demographic_Statistics_By_Zip_Code.csv", newline='') as infile:

  data = list(csv.reader(infile))


파일의 첫 번째 레코드인 data[0]을 검사해 보자. 이는 우리가 찾고 싶은 열을 포함하고 있을 것이다.


countParticipantsIndex = data[0].index("COUNT PARTICIPANTS")

countParticipantsIndex





5 역주 실습을 하려면 Demographic_Statistics_By_Zip_Code.csv 파일이 필요합니다. 앞에서 예제 파일을 내려받아 아나콘다 실행 폴더에 넣었다면 자동으로 읽어 들입니다. 아직 내려받지 않았다면 예제 파일을 내려받아 ‘예제파일’ 폴더의 모든 파일을 복사해서 아나콘다 실행 폴더에 넣어 줍니다. 원한다면 Data.gov에서 적당한 자료를 내려받아 사용해도 되는데, 이때는 코드에서 CSV 파일명과 몇몇 값을 수정해야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.