imhamburger 님의 블로그

판다스(Pandas) - csv파일 불러오기, unicode 에러 해결하기 본문

판다스(Pandas)

판다스(Pandas) - csv파일 불러오기, unicode 에러 해결하기

imhamburger 2024. 7. 25. 09:28

판다스(Pandas)를 사용하기 위해 주피터노트북을 사용하였다. pyenv로 가상환경을 만들고 그 안에 주피터노트북을 설치하였다.
 
1. 주피터노트북을 실행하고 pandas를 import한다.

import pandas as pd

 
2. csv파일로 된 데이터를 불러오기 위해 다음과 같이 입력한다.

df = pd.read_csv('{파일경로}', on_bad_lines='skip')

on_bad_lines='skip'을 추가한 이유는 내가 가지고있는 csv파일 안에 형식이 안맞는 데이터들이 좀 있어서 스킵하고 사용하였다.
 
인코딩 에러메세지가 떴다.

 
해결방법은 아래 코드처럼 encoding = "latin"을 넣어주면 된다.

df = pd.read_csv('~/data/csv/240717/csv.csv', on_bad_lines='skip', encoding = "latin")

 
3. 불러온 csv파일에 컬럼명이 없어 컬럼명을 추가해준다.

df = pd.read_csv('~/data/csv/240717/csv.csv', on_bad_lines='skip', encoding = "latin",
                 names=['dt', 'cmd', 'cnt'])

컬럼명은 각각 dt / cmd / cnt 로 설정해주었다.
 
결과

 
근데 데이터에 ^ 가 붙어있어 ^ 를 제거해주고자 한다.
 
4. replace 함수로 ^를 공백으로 처리해준다.

df['dt'] = df['dt'].str.replace('^', '') #^를 공백으로 대체하겠다. 라는 의미
df['cmd'] = df['cmd'].str.replace('^'. '')
df['cnt'] = df['cnt'].str.replace('^', '')

 
결과