우선 csv로 파일을 저장하는 방법은
table.to_csv('./data.csv', encoding='CP949')
운영체제별로 마이크로소프트의 경우 CP949를
맥과 리눅스는 UTF-8을 사용하여 인코딩한다.
남이 저장한 파일을 읽어올때는
pd.read_csv("./datas.csv", encoding='UTF-8',index_col=0)
이렇게 읽어오면 되는데
이러한 에러코드를 만나게 될것이다.
### 인코딩 에러
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 0: invalid continuation byte
저장할때 인코딩 방식을 CP949로 했는데 UTF-8로 요청을 했기 때문이다.
이때는 당황하지 말고 encoding방식을 CP949로 바꾸어 주면 된다.
*index_col=0 의 경우는 특정 열을 index로 지정하는 속성인데
만약 이 속성을 넣지 않고 데이터를 불러와서 unnamed: 0이라는 컬럼을 만나 당황할 수도 있을것이다 (내가 그랬다)
이때 del을 사용해서 지워도 문제는 없지만 애초에 불러올때 index_col속성을 줘서 불러오는것을 추천한다!
**추가로 sep이라는 속성도 있는데
기본적으로 csv파일은 콤마(,)로 데이터값이 구분되기 때문에 따로 구분자를 설정할 필요가 없지만
콤마가 아닌 다른것으로 구분자가 설정되어 있을 경우 데이터를 그냥 불러오면 에러가 발생한다.
이때 sep='/' 혹은 sep='\t' 로 구분자로 설정을 해주어야 한다.
***추가로 한글 깨짐 방지를 위해 'utf-8-sig'를 사용할 수도 있다.
728x90
'프로그래밍 > Python' 카테고리의 다른 글
[Pandas] 데이터프레임 정렬하기 (0) | 2022.08.20 |
---|---|
[Python] 정규표현식 문법 (0) | 2022.08.20 |
[Python] 리스트안에 특정 값 개수 세기 (0) | 2022.08.18 |
[Pandas] 데이터 프레임 열 추가/ 갱신/ 삭제 (0) | 2022.08.18 |
[Pandas] 데이터 프레임 컬럼명 변경 (0) | 2022.08.18 |