Data Science

[파이썬으로 시작하는 데이터 사이언스] 파일 경로 설정

아란정 2024. 8. 6. 15:37

절대 경로

- 절대경로는 어떤 웹페이지나 파일이 가지는 고유한 경로로 최상위 디렉토리가 포함된 경로
- file://Users/~/
- C:\user\documents\~


상대 경로

상대경로를 이용하면 주피터 파일과 같은 폴더 내 위치이므로 tab을 눌러 불러옴

- /는 루트
- ./는 현재 위치
- ../는 현재 위치의 상위 폴더
- ../../는 두 단계 위 상위 폴더 의미


핵심 키워드


- %mv
- %pwd
실습 파일 경로
- %ls
- pd.read_csv
- cp949
한글 윈도우에서 사용하는 인코딩 설정 : utf8 이 기본 설정이므로 변경해준다
> UnicodeDecodeError : 코드 오류: encoding = "cp949"

 

* 다운받은 파일을 주피터 노트북에서 작업하고 있는 폴더로 가져오기

Data 와 실습 파일 분리_데이터 파일의 경우 따로 폴더를 만들어서 관리하는 것을 추천드립니다.





- 'data' 폴더를 생성 한 후 '도로교통공단_교통사고다발지역_20191010.csv'파일을 옮겨줍니다.

# 현재 실습 파일 경로(1)
%pwd 

# (2)
import os
os.getcwd()

 

 

%mv /Users/~~~/~~~/도로교통공단_교통사고다발지역_20191010.csv .

- 파일을 다운 받은 폴더의 경로를 적어주세요.

- 파일을 다운 받은 위치의 경우 개인마다 다르기 때문에 자신에 맞게 작성해주셔야 합니다.

- 제일 끝에 한 칸을 띄우고 . 을 꼭 적어주셔야 합니다!

- 주피터 노트북 파일이 있는 폴더 경로를 확인하려면 주피터 노트북 상에서 %pwd를 실행하시면 됩니다.




* 판다스로 csv파일 불러오기

pd.read_csv("도로교통공단_교통사고다발지역_20191010.csv", encoding="cp949")


- 소괄호() 안에서 shift + tab 키를 누르면 도움말을 볼 수 있습니다.


- csv파일을 불러올 때 한글파일 인코딩을 하지 않으면 오류가 나기 때문에 encoding="cp949"를 함께 적어주셔야 합니다.


- "euc-kr"을 적는 방법도 있지만 일부 한글은 깨지기 때문에 "cp949"를 사용하시는 것을 추천드립니다.

 

glob

- 유닉스 스타일 경로명 패턴 확장
특정 경로에 어떤 파일이 있는지 확인 가능

from glob import glob
glob("data/*")

> ['data/도로교통공단_.csv']

list 형태로 불러온 것을 확인할 수 있다. 

file 명만 string로 불러오려면 변수 설정해주면 된다. 

file name = glob("data/*")[0]
file name

> 'data/도로교통공단_.csv'

 

여러 파일을 한 번에 로드하는 방법

- glob : 경로 확인, 규칙으로 검색 가능.

- for로 여러 파일을 하나의 list에 넣고

- pd.concat - dataframe

glob("data/store/*.csv")

# 운영체제마다 텍스트 인코딩 방법이 달라서 약간의 오류가 생길 수 있음
# *_*_* 이나 *.csv 처럼 규칙으로 검색

# 파일명을 오류없이 가져올 수 있음
file_csv = glob("data/store*.csv") 

# 파일 불러오기
for file_csv_name in file_csv:
	print(file_csv_name)
    pd.read_csv(file_csv_name)
# 파일 리스트 생성

file_list = []
for file_csv_name in file_csv:
	temp = pd.read_csv(file_csv_name) #low_memory = False
    file_list.append(temp)
# 하나의 dataframe으로 합치기

len(file_list)
df = pd.concat(file_list)
df.shape

> (2363994, 39)

df.head()