[Python] pandas 오류 정리 (1)

조예진·2022년 7월 13일
1
post-thumbnail

📌 오류 코드

'utf-8' codec can't decode byte 0xbd in position 114: invalid start byte

오류 원인

  • pd.read_csv encoding 미설정해서 난 오류였다.

📝 기존 코드

joined_files = os.path.join("({})LTCH_NON_PAY*.csv".format(arrow.now().format('YYYY-MM-DD')))
joined_list = glob(joined_files)
df_total = pd.concat(map(pd.read_csv, joined_list), ignore_index=True)

여러 파일을 불러온 후 그 파일을 병합하는 작업 중에
map을 돌려 파일을 합쳐야지! 라고 했는데,

pd.concat(map(pd.read_csv, joined_list), ignore_index=True)

pd.read_csv에 encoding옵션을 따로 추가하지 않았더니 오류가 발생했다.

그래서 아래와 같이 코드를 변경했더니 해결되었다.

📝 해결 코드

joined_files = os.path.join("({})_file*.csv".format(arrow.now().format('YYYY-MM-DD')))
joined_list = glob(joined_files)
df_total = pd.DataFrame()
for file_name in joined_list:
    df_temp = pd.read_csv(file_name, encoding='cp949')
    df_temp = df_temp.drop([df_temp.columns[0]], axis='columns')
	df_total = pd.concat([df_total, df_temp])

encoding='cp949'를 옵션을 추가했다.

df_temp = pd.read_csv(file_name, encoding='cp949')
  • encoding='cp949'는 en-kr의 확장 버전이라 되도록 cp949를 사용하는 것이 좋다고 한다.
profile
블로그 이전 중 -> https://devjooj.tistory.com/

0개의 댓글