728x90
1. csv
• Comma Separated Value(다른 구분 문자도 사용 가능)
• 각 열이 특정한 의미를 가짐
• 데이터에 ,(콤마)가 포함되어 있는 경우 -> 큰따옴표 (" ") 를 이용하여 데이터를 감싼다
• 장점 : 같은 데이터를 저장하는 데 용량을 적게 소모함
• 단점 : 데이터 오염에 취약함
csv 데이터 읽고 처리하기
# csv 모듈을 임포트합니다.
import csv
def print_book_info(filename):
with open(filename) as file:
# ',' 기호로 분리된 CSV 파일을 처리하세요..
reader = csv.reader(file, delimiter=',')
# 처리된 파일의 각 줄을 불러옵니다.
for row in reader:
# 함수를 완성하세요.
title = row[0]
author = row[1]
pages = row[3]
print("{} ({}): {}p".format(title, author, pages))
csv 데이터 변환하기(csv -> 딕셔너리 저장 -> json 저장)
# CSV, JSON 모듈을 임포트합니다.
import csv
import json
from elice_utils import EliceUtils
elice_utils = EliceUtils()
def books_to_json(src_file, dst_file):
# 아래 함수를 완성하세요.
books = []
with open(src_file) as src:
reader = csv.reader(src, delimiter=',')
# 각 줄 별로 대응되는 book 딕셔너리를 만듭니다.
for word in reader:
# 책 정보를 저장하는 딕셔너리를 생성합니다.
book = {
"title":word[0],
"author":word[1],
"genre":word[2],
"pages":int(word[3]),
"publisher":word[4],
}
books.append(book)
with open(dst_file, 'w') as dst:
# JSON 형식으로 dst_file에 저장합니다.
dst.write(json.dumps(books))
pass
# 아래 주석을 해제하고 결과를 확인해보세요.
src_file = 'books.csv'
dst_file = 'books.json'
books_to_json(src_file, dst_file)
elice_utils.send_file(dst_file)
* 파이썬만으로 csv파일 사용법에 대해 알아보았다. 하지만 pandas를 사용하면 더 유용하게 사용할 수 있다.
'python' 카테고리의 다른 글
[python] 대용량 데이터 읽고 저장 ( pandas vs pyarrow ) with parquet (0) | 2022.07.06 |
---|---|
[python] lambda/map/filter (0) | 2022.04.03 |
[python] operator.itemgetter (2) | 2022.04.01 |
[python] string.punctuation (2) | 2022.03.30 |
[python] 딕셔너리/JSON/집합 (0) | 2022.01.29 |
댓글