-
[Ubuntu] 우분투에서 한글 csv 파일 불러오기 (permission denied 해결)직접 해보기/NLP 2021. 4. 23. 14:33728x90반응형
우분투에서 파이썬 패키지 설치하기
우분투에서 한글 csv 파일 불러오기
permission denided 오류 해결하기
우분투 파이썬 한글 깨짐 인코딩
여태까지 윈도우 환경에서만 파이썬을 굴리다가
khaiii 때문에 우분투를 처음 써보려니까 고난이 많다ㅠㅠ
1. 우분투 환경에서 권한 변경하기 (permission denided 오류 해결하기)
youngjinmo.github.io/2019/07/linux-permission/
# 디렉토리인 경우 (디렉토리 아래 전체 파일의 권한 지정) # 읽기, 쓰기, 실행 권한을 모두 허용하고자 하는 경우 chmod -R 777 [디렉토리이름]
- 윈도우 환경에서 하던 것처럼 pandas로 csv파일을 불러오려고 하니
- 처음 보는 Permission Denied 오류가 나왔다. 내 파일 내가 쓰는데 왜 허락을 안해주는가?ㅠㅠ
- 왜냐? 리눅스/우분투 환경에서 디렉토리/파일을 불러오고 수정하려면, 유저 권한 변경이 필요하다.
- 위 링크의 글을 참고하여, chmod 명령어로 디렉토리 내 전체 파일에 대한 권한을 지정해주었다. (압도적..감사..)
2. 파이썬 패키지 pickle, tqdm 설치
!pip3 install pickle --user !pip3 install tqdm --user
- 먼저 우분투에서 주피터 노트북 실행!
- 항상 사용하는 패키지인 pickle, tqdm을 먼저 설치하였다.
- 구글링해보니 sudo를 함부로 쓰면 해킹에 노출되기 쉽다고 한다. (위 링크의 글을 참고)
3. 우분투 파이썬에서 한글 파일 불러오기 (한글 깨짐 해결)
import pandas as pd import pickle import sys # 현재 위치를 출력 import os print(os.getcwd())
- 윈도우 환경에선 그냥 파일 속성을 열어서 위치를 긁어오면 된다.
- 그대로 했다가 FileNotFoundError 를 만났다..
- 왜냐? 지금 쓰는건 윈도우가 아니라 우분투라고~~
- getcwd로 현재 위치를 출력해보자.
- "현재 위치 + 파일이름.csv" 로 csv파일을 읽어올 수 있다.
- 한글 파일을 읽어오려면 "cp949" 로 인코딩해야 한다.
- 윈도우 환경에선 utf-8로 인코딩하거나,
- engine = "python" 으로 두면 한글 깨짐을 방지 할 수 있었는데,
- 우분투 환경에서는 둘 다 깨지고 cp949는 안 깨지더라.. PC에 따라 다를지도 모르겠다.
728x90반응형'직접 해보기 > NLP' 카테고리의 다른 글
[nbextensions] Ubuntu 18.04 환경에서 Jupyter Notebook Nbextensions 설치 (0) 2021.05.13 [khaiii] 카카오 형태소분석기 khaiii 간단 사용법 (형태소 분석) (0) 2021.04.24 [khaiii] khaiii 품사 리스트 (khaiii POS list) (0) 2021.04.24 [khaiii 설치] 우분투Ubuntu 설치부터 khaiii 설치 및 주피터노트북 테스트까지! (0) 2021.04.22