csv 데이터 다루기

2018. 4. 7. 01:52Python-이론/python-인공지능2

csv 데이터 다루기



csv는 엑셀로 쉽게 만들 수 있고 데이터베이스에서 많이 사용해서 알아두면 편리합니다. csv는 한개 이상의 레코드를 갖고 있고 레코드는 한개이상의 필드를 갖고 있습니다. 레코드는 줄바꿈으로 구분이 됩니다. 엑셀에서 csv형식으로 출력할 때 euc_kr로 사용하기 때문에 인코딩할 때 주의해주어야 합니다. 각 필드는 쉼표로 구분되고 한필드에 들여쓰기 있다면 , "들여쓰기 전" "들여쓰기 후" ,

예제1 csv파일 읽기
# example data
# id, name, price
#1000, sdCard, 1000
#1001, keyboard, 17000
#1002, "lg" "mouse",13000

import codecs 

filename = "list_csv.csv" #file에 위 내용을 작성해 주세요
data = []
csv =   codec.open(filename, "r","euc_kr").read()
rows = csv.split("\n")
for row in rows:
    if row =="" continue
    cells = row.split(",")
    row.append(cells)

for c in row:
    print(c[0],c[1],c[2])




csv 모듈 사용해서 해보기

csv 모듈을 사용하면 더 쉽게 위와 같은 내용의 코드를 작성 할 수 있다.


#위의 예제와 같이 데이터 파일을 미리 작성해주세요

import  csv, codecs

 fp  = codecs.open(filename, "r","euc_kr")

reader = csv.reader(fp,delimiter="," ,quotechar='"') #delimiter 구분 문자 quotechar 어떤기호로 데이터를 감싸고 있는지 

for row in reader:
    print(row[0], row[1],row[2])




csv 이용해서 파일에 쓰기

import csv, codecs

with codec.open(filename,"w","euc_kr") as fp :
    writer = csv.writer(fp, delimiter = ",", quotechar ='"')
    writer.writerow(["id","name","price"])
    writer,writerow(["1000","SD card","20000"])
    writer.writerow(["1001","keyboard","15000"])
    writer.writerow(["1002","mouse","17000"])


'Python-이론 > python-인공지능2' 카테고리의 다른 글

machineLearning 이란?  (0) 2018.04.16
excel데이터 다루기  (0) 2018.04.08
yaml 데이터 형식  (0) 2018.04.03
yaml데이터 분석하기  (0) 2018.04.03
json데이터 분석  (0) 2018.04.03