(1) Python with CSV
엑셀 파일 과 같은 구조화된 표 데이터를 다른 사람에게 전달하거나 내가 보기 좋게 저장하는 과정에서 CSV 파일을 많이 활용을 한다.
CSV 파일은 comma, 즉 쉼표로 행과 열 데이터가 구분되어져 구조화되어 있는 파일을 의미한다.
Python 에서는 이 CSV 파일을 Python으로 불러와서 Pandas 와 같은 라이브러리로
CSV 파일 내에 있는 데이터를 분석 할 수 있다.
또는 아래와 같이 CSV 파일을 Python으로 불러와서 CSV 파일 내의 데이터들을 MySql
데이터베이스에 연결하여 존재하는 테이블 내에 값(value)를 INSERT 할수도 있다.
🖍️ READ CSV
# police_station.csv 파일을 불러와 pandas로 읽어와서 데이터를 확인한다.
import pandas as pd
df = pd.read.csv("police_station.csv")
df.head()
import pandas as pd : import pandas as pd는 Pandas 라이브러리를 가져오고 allias 해서 pd라는 별칭을 붙인 것이다. Pandas 는 파이썬에서 데이터 조작 및 분석에 강력한 도구이다. Pandas는 또한 다양한 csv와 같은 다양한 데이터 소스에서 데이터를 읽어오고 다양한 형식으로 이를 데이터 프레임으로 저장할 수 있다.
df = pd.read_csv("police_station.csv") : pd.read.csv("police_station.csv") 는 police_station.csv 라는 이름의 CSV(콤마로 구분된 값) 파일을 읽어오는 것이다. read.csv 앞에 pd. 을 붙힌 이유는 판다스 라이브러리를 내포하고 있는 pd를 사용해 csv 파일을 쉽게 읽어오고 데이터 프레임으로 저장하기 위함이다. 이후에는 pandas 라이브러리로 만든 데이터프레임(DataFrame)을 df에 저장한다.
df.head() : police_station.csv 파일의 데이터로 만든 데이터 프레임인 df를
head를 사용해 전체 데이터 중 첫 케이스부터 후의 5개의 케이스를 출력하는 것이다.
- 출력 결과

🖍️ READ CSV 시 csv 한글이 깨지는 경우
read.csv를 했을 때 한글이 깨져서 데이터프레임이 만들어지는 경우가 이다.
이럴 때는 글자를 컴퓨터가 인식할 수 있도록 만들어주는 encoding 값을 설정해주며 된다.
encoding 값을 한글을 표현한 인코딩 방식으로 한글에 특화되어 있으며 이를 설정해주는 euc-kr로 설정해주면 된다.
그리고 utf-8 이라는 인코딩 방식도 있는데 이는 한글 뿐만 아니라 전 세계 모든 문자를 표현할 수 있는 범용 인코딩 방식이다.
하지만 대한민국 사이트에서 제공받은 csv 파일들은 표준 인코딩 방식으로 때때로 euc-kr을 사용하는 경우도 있어 utf-8 인코딩이 작동하지 않는다면 조회할 때 euc-kr 을 사용하면 된다.
