기타 개발

python Faker 라이브러리를 사용한 csv 더미 데이터 생성

AUSTAR 2024. 7. 29. 18:23

python Faker 라이브러리를 사용한 더미 데이터 생성
python Faker 라이브러리를 사용한 더미 데이터 생성

 

1. 서론

더미 데이터를 만드는 방법이 여럿 있지만 간편하게 쓸 수 있는 python Faker 라이브러리를 사용해서 엑셀 데이터를 생성해보겠습니다.

추후 직접 DB에 접속해서 등록하는 방법 csv파일로 추출해서 db에 업로드하는 방법도 알아볼겁니다.

 

사용할 툴은 vsCode이고 테스트 OS는 windows 10 환경입니다.

python은 설치되어있다고 가정하고 진행을 합니다.

스크린 샷에는 없지만

 

2. 본문

2.1. python 코드

import pandas as pd
from faker import Faker
import random

# Faker 객체 생성
fake = Faker()

# 데이터 저장을 위한 리스트
data = []

# 100만 개의 무작위 데이터 생성
for _ in range(1000000):
    name = fake.name()
    email = fake.email()
    phone_number = fake.phone_number()
    city = fake.city()
    state = fake.state()  # 주
    # district = fake.district()  # '구'에 해당하는 데이터
    address = fake.address()
    registration_date = fake.date_this_decade()
    
    data.append([name, email, phone_number, city, state, address, registration_date])

# pandas DataFrame으로 변환
df = pd.DataFrame(data, columns=['이름', '이메일', '핸드폰번호', '시', '주', '주소', '등록일'])

# CSV 파일로 저장
df.to_csv('random_data.csv', index=False, encoding='utf-8-sig')

print("100만 개의 무작위 데이터가 'random_data.csv' 파일에 생성되었습니다.")

 

사용하는 소스는 다음과 같습니다.

faker 라이브러리를 사용해 100만개의 더미데이터를 생성합니다.

 

 

2.1.1. 한글 데이터 생성 방법

한글 데이터를 만드는 방법도 존재합니다.

# Faker 객체 생성
fake = Faker()

해당 부분을

 

# Faker 객체 생성
fake = Faker('ko_KR')

다음과 같이 'ko_KR'만 넣어줘도 한글로된 더미데이터를 생성합니다.

실제와 같은 데이터를 입력할 때 사용하면 좋지만 간혹 encoding 설정을 해줘도 한글 데이터를 입력할 때 문제가 생기는 경우가 있어 영어로된 예제를 만들도록 합니다.

 

2.2. vsCode 상 소스 구조

vsCode 소스 구조
vsCode 소스 구조

vsCode에서 특정 폴더를 작업 영역으로 생성 한 후 create_excel.py라는 파일을 생성하고 상단에 있는 소스를 넣었을 때 다음과 같은 구조가 됩니다.

 

2.2.1. python이 설치되어있지 않을 경우.

이제 해당 소스를 실행시키기 위해 우측 상단 실행 버튼을 클릭하면 python이 설치되어있지 않은 사용자의 경우 windows store에서 python을 설치할것이냐고 확인을 합니다.

이전에닌 windows store에서 python을 설치하면 문제가 있던걸로 기억하는데 이제는 해당 방법으로 설치를 해도 문제가 없는 것을 확인하여 편하게 windows store에서 python을 선택해 설치하도록 하겠습니다.

 

windows store python
windows store python

현재 날자 기준으로 python의 최신 버전은 3.13 까지 나왔지만 저는 3.12버전을 선택하여 설치하였습니다.

선택하여 설치를 완료한 후 다시 소스를 실행해줍니다.

 

2.2.2 python 라이브러리가 설치되어 있지 않은 경우

import pandas as pd
from faker import Faker
import random

python까지 설치를 완료 한후 다시 실행을 하면 상단의 라이브러리가 설치되어 있지 않을 경우 해당 라이브러리 영역에 밑줄이 그어지며 오류가 발생합니다.

 

그럴 경우 해당 라이브러리를 설치해야하는데 방법은 다음과 같습니다.

python은 pip라는 라이브러리 관리프로그램을 사용하며 pip 를 이용해 해당 라이브러리를 설치해야합니다.

각 라이브러리마다 명칭이 조금씩 차이가 있기 때문에 pandas를 예시로 봤을때

 

pip pandas

 

라고 구글에 검색을 하면

 

google pip pandas
google pip pandas

다음과 같이 PyPI라는 홈페이지와 연결됩니다.

 

pypi pandas
pypi pandas

 

해당 사이트는 파이썬 라이브러리를 관리하는 사이트로 상단 복사 버튼을 눌러 명령어를 저장한 후

 

vsCode Terminal
vsCode Terminal

vsCode로 다시 돌아와 하단 터미널 탭을 선택한 후 복사했던 명령어를 실행하면 해당 라이브러리를 설치합니다.

이제 라이브러리가 설치되지 않아 문제가 발생했던 나머지 라이브러리도 동일한 방법으로 설치합니다.

 

2.3. csv 파일 생성

vsCode 실행
vsCode 실행

이제 다시 python 소스를 실행 시키면 현재 작업 폴더에 csv 파일이 생성된 것을 확인할 수 있습니다.

 

 

이제 해당 파일을 db에 업로드하거나 직접 db에 연결해서 insert하는 방법에 대해 알아보겠습니다.