본문 바로가기
ML/Machine Learning

ML) Python으로 크롤링한 것을 엑셀로 만들기

by 후르륵짭짭 2020. 7. 13.
728x90
반응형

안녕하세요!! 후르륵짭짭 입니다.

머신러닝에 대해서 오랜만에 포스팅 하는데요. (전공 분야는 아니라서,,,, 노력 중 입니다!)

이번에는 Python으로 웹 크롤링 한 것을 보기 쉽게 엑셀 파일로 만드는 방법을 해보도록 하겠습니다.

농구선수에 대한 정보를 수치화한 엑셀 파일

위와 같이 크롤링을 마쳤다면!

이제 엑셀로 만들어줘야 합니다!

엑셀로 만드는 방법은 어렵지 않아요!

일단 시작하기 전에 

import pandas as pd

를 맨 위에 적어주세요!

pandas 는 파이썬에서 엑셀 형식의 행과 열로 된 표 형태의 데이터들을 관리하는 라이브러리 입니다.

그냥 단순하게 파이썬에서의 엑셀로 보시면 될 것 같네요.

 

data = pd.DataFrame(배열을 넣어주세요) 

그리고 나서 data = pd.DataFrame(배열) 을 넣어주시면 됩니다.

pd.DataFrame은 pandas가 배열을 읽을 수 있게 pandas 배열 형태로 변환 해주는 작업이라 생각 하시면 됩니다.

 

만약! 이차원 배열이라면 어떻게 해야할까요? 

그냥 2차원 배열을 넣어주시면 안됩니다!

Pandas는 2차원 배열은 인식을 못하진 않는데, 원하는 식으로 한줄로 안돼더라고요...

dataFrame = []

for first in tempResult:
    for second in first:
        dataFrame.append(second)

이렇게 새로운 배열을 만들어주시고 요렇게 하나씩 넣어주어 셔야 합니다.

 

그리고 나서

data.head(출력하고 싶은 갯수)

head() 명령어를 통해서 출력할 수 있습니다. 

저렇게 다량의 것은 출력이 안되고 한 5개 이렇게 해서 출력이 됩니다.

 

만약!

셀별로 이름을 지어주고 싶다면 columns 명령어를 사용해야합니다.

data.columns = ['Link', 'Name', 'Position', 'Height', 'weight', "Outside Scoring", "Athleticism", "Inside Scoring", "Playmaking", "Defending", "Rebounding"]

이렇게 셀별로 넣어주고 싶은 이름을 배열 형태로 넣어주세요!

그러면 엑셀에 표시가 될 겁니다.

 

마지막으로 to_csv 명령어로 저장하고 싶은 경로와 파일명을 적어주시면!

data.to_csv("경로와 파일명을 string 형태로 적어주세요")

완성이 됩니다!!

어렵지 않죠??? ㅎㅎㅎ

 

** 전체 코드 **

import pandas as pd

dataFrame = []

for first in tempResult:
    for second in first:
        dataFrame.append(second)
        
data = pd.DataFrame(dataFrame) 
data.columns = ['Link', 'Name', 'Position', 'Height', 'weight', "Outside Scoring", "Athleticism", "Inside Scoring", "Playmaking", "Defending", "Rebounding"]

data.head(len(data))

data.to_csv('./NBA2K20_Result.csv')
728x90
반응형

댓글