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

 

 

'Tableau > Text Data Analysis (Youtube Case-study)' 카테고리의 다른 글

Analyze whether audience is engaged or not  (0) 2025.04.29
Analyze the Most Liked Category  (0) 2025.04.28
Emoji's Analysis  (0) 2025.04.27
Word Cloud Analysis  (0) 2025.04.27
감정 분석 (Sentiment Analysis)  (0) 2025.04.26