데이터 내려받고 전처리 하는 방법에 대해서 배운다.
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를 분석하면 된다.
[PLAYDATA] 데이터 엔지니어링 9월 2주차 9/7 (0) | 2023.09.07 |
---|---|
[PLAYDATA] 데이터 엔지니어링 9월 2주차 9/6 (0) | 2023.09.06 |
[PLAYDATA] 데이터 엔지니어링 8월 5주차 8/31 (0) | 2023.08.31 |
[PLAYDATA] 데이터 엔지니어링 8월 5주차 8/30 (0) | 2023.08.30 |
[PLAYDATA] 데이터 엔지니어링 8월 5주차 8/29 (0) | 2023.08.29 |