상세 컨텐츠

본문 제목

[PLAYDATA] 데이터 엔지니어링 9월 2주차 9/5

PLAYDATA/PLAYDATA데일리노트

by Na느님 2023. 9. 5. 22:02

본문

  • 9월 5일
데이터 내려받고 전처리 하는 방법에 대해서 배운다.

 

 

import glob

파일들의 리스트를 뽑을 때 사용한다.

glob(<path_name>)은 pathname패턴을 만족하는 모든 파일들의 이름을 list 형태로 반환한다.

예시) glob.glob("C:/Users/asdf/test/*.txt")

이는 C:/Users/asdf/test 경로에 있는 모든 txt파일을 출력한다.

 

 

파일 내려받는 기본 매커니즘

다운로드 할 파일들이 디렉터리 형태로 되어 있다면 다음과 같이 한다.

1. 다운로드 할 파일들이 위치한 디렉터리들의 name패턴을 파악

2. 최상위 디렉터리를 가리키는 string변수 생성(path_url이라고 하자)

3. 컴퓨터에 저장할 위치를 가리키는 string변수 생성(path_dir라고 하자)

4. 컴퓨터에 path_dir 디렉터리가 없으면 만드는 코드 추가.

-> os.path.isdir함수와 mkdir함수 이용 (import os)

5. for문을 만들고 그 안에서 path_url에 string을 이어붙이는 형식으로 각 파일을 다운로드

-> requests.get함수로 url 접근권한을 획득하고 <request_obj>.content로 데이터 저장(이때 open함수에는 b옵션으로 열어야 함)

 

Tip) f.read().splitlines()함수는 파일 전체를 읽은 뒤, 모든 line들을 각각 리스트로 쪼개서 리스트를 반환하는 함수이다.

 

 

Pandas로 DataFrame만들기

CSV파일의 경우, 파일의 맨 첫 line에 column이름들이 쉼표로 구분된 문자열을 저장

read_csv함수로 DataFrame생성 (참고로 pd.DataFrame()은 빈 df를 반환)

to_csv함수로 DataFrame을 csv형태의 파일로 저장

 

 

(위 두 문단 요약)원하는 형태의 .csv파일 제작 과정

1. csv파일 다운로드

2. 원하면 csv파일 맨 첫 line에 column이름 추가

3. read_csv로 csv파일 읽기

4. df객체를 원하는 대로 수정

5. 수정된 df객체를 to_csv함수를 이용해서 csv파일로 저장

그 이후로는 matplotlib 패키지 등을 이용해서 df를 분석하면 된다.

 

 

 

 

 

 

 

 

 

 

 

관련글 더보기