Tableau/Text Data Analysis (Youtube Case-study)

Collect Entire data of Youtube: Data Collection

hmmmmmmmmmmmm 2025. 4. 28. 01:22

 

1. Youtube 데이터 수집 목적

  • Youtube 댓글 분석, 감정 분석 등을 위한 전체 데이터 수집 작업 진행.
  • 여러 개의 CSV 파일로 나누어진 데이터를 하나의 데이터프레임으로 통합.

 

 

 

2. 데이터 수집 방법

import os
import pandas as pd

# 1. 경로 지정
path = r'C:\Users\1\Downloads\additional_data'

# 2. 폴더 안 파일 리스트 가져오기
files = os.listdir(path)

# 3. result 리스트에 csv 파일만 모으기
result = []
for file in files:
    if '.csv' in file:
        result.append(file)

# 4. 빈 데이터프레임 준비
full_df = pd.DataFrame()

# 5. result 리스트 안 csv 파일들 읽어서 합치기
for file in result:
    current_df = pd.read_csv(
        path + '/' + file,
        encoding='iso-8859-1',   # 인코딩 문제 방지
        on_bad_lines='skip'     # 깨진 줄 무시
    )
    full_df = pd.concat([full_df, current_df], ignore_index=True)

# 6. 최종 데이터프레임 크기 확인
print(full_df.shape)

 

 

(1) 폴더 내 CSV 파일 목록 가져오기

  • os.listdir() 함수를 사용하여 특정 폴더 안의 파일 목록을 가져온다.
import os

path = r'C:\Users\1\Downloads\additional_data'  # 데이터가 저장된 폴더 경로
files = os.listdir(path)  # 폴더 안 파일 리스트 가져오기

 

 

(2) CSV 파일만 선별

  • .csv가 포함된 파일만 리스트로 따로 모은다.
result = []
for file in files:
    if '.csv' in file:
        result.append(file)

 

폴더 안에 텍스트 파일, 엑셀 파일 등이 섞여 있을 수 있으므로 .csv 확장자가 포함된 파일만 골라낸다.

 

 

 

3. 데이터 통합 과정

 

(1) 빈 데이터프레임 생성

  • 여러 파일을 이어붙일 그릇을 미리 준비한다.
import pandas as pd

full_df = pd.DataFrame()

 

 

(2) 파일별 데이터 읽고 합치기

  • 각 CSV 파일을 읽어서 하나의 데이터프레임에 통합한다.
for file in result:
    current_df = pd.read_csv(
        path + '/' + file,
        encoding='iso-8859-1',  # 인코딩 문제 방지
        on_bad_lines='skip'     # 깨진 줄 무시
    )
    full_df = pd.concat([full_df, current_df], ignore_index=True)

 

  • encoding='iso-8859-1'로 인코딩 에러 방지
  • on_bad_lines='skip'으로 파일 안 깨진 줄 무시하고 읽기
  • pd.concat()을 사용해 행(row) 방향으로 파일들을 하나로 합친다
  • ignore_index=True로 합칠 때 인덱스를 새로 부여

 

 

pd.concat이란?

여러 개의 데이터프레임을 "붙여서" 하나로 만드는 함수야

  • 네가 폴더에 있는 여러 개의 엑셀 파일(CSV 파일)을
  • 파일 하나 = 데이터프레임 하나로 읽어
  • 그 데이터프레임들을
  • 위아래로, 줄(row)을 이어붙여서
  • 하나의 큰 표(데이터프레임)를 만드는 거야.

→ '한 줄'로 붙이는 게 아니라 '수직(아래로)' 쌓는 것!

 

 

데이터프레임(DataFrame)이란?

→ 표 형태(엑셀처럼)로 데이터를 다루는 구조야.

  • 행(row): 한 줄 한 줄 (한 개 데이터)
  • 열(column): 항목(특성, 속성)

→ 엑셀 스프레드시트처럼 생긴 거야.

 

쉽게 비유하면

  • CSV 파일은 텍스트 파일이야. (컴퓨터 입장에서 그냥 글자 모음)
  • 데이터프레임은 그걸 엑셀 표처럼 다루게 해주는 거야.

즉, 데이터프레임 = "엑셀처럼 다룰 수 있게 만든 데이터 구조"

 

 

 

 

4. 데이터 통합 결과

print(full_df.shape)

 

 

결과 예시:

(375942, 16)

 

375,942개의 행(row), 16개의 열(column)을 가진 하나의 큰 데이터프레임이 만들어졌다는 의미.

 

 

 

🔥 요약

  • Youtube 관련 추가 데이터 파일들을 모두 모아 하나의 커다란 데이터프레임으로 통합하는 작업
  • 추후 이 데이터프레임을 활용하여 이모지 분석, 워드클라우드 생성, 감정 분석 등을 수행할 예정