TL;DR
- ์ด๋ฆยท์ฃผ์ยท๋ ์ง ๋ฑ 100์ฌ ์ข ํ๋์ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ๋ก์ผ์ผ(ko_KR ๋ฑ) ์ง์ ์ผ๋ก ๋ฌธํ๊ถ๋ณ ๋ฐ์ดํฐ ์์ฑ
- ์๋ ๊ณ ์ ยทuniqueยทcustom provider๋ก ์ฌํ์ฑ๊ณผ ํ์ฅ์ฑ ํ๋ณด
Faker๋?
- Faker๋ ํ
์คํธ๋ ๋ฐ๋ชจ์ฉ์ผ๋ก ํ์ค๊ฐ ์๋ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์๋ ์์ฑํด ์ฃผ๋ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์ด๋ฆยท์ฃผ์ยท์ ํ๋ฒํธ ๊ฐ์ ๊ฐ์ธ ์ ๋ณด๋ถํฐ ๋ ์งยท๊ธ์ตยท์ธํฐ๋ทยท์์นยทํ ์คํธ ๋ฑ 100์ฌ ์ข ์ด์์ ํ๋๋ฅผ ๋ก์ผ์ผ๋ณ(์: ko_KR, en_US)๋ก ์์ฝ๊ฒ ๋ง๋ค ์ ์์
- ์๋ ๊ณ ์ ยท์ ๋ํฌ ๊ฐยท์ปค์คํ provider ํ์ฅ์ ์ง์ํด ์ฌํ์ฑ๊ณผ ๋ค์์ฑ ์๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ ์ ์๊ฒ ํด ์ค
- ์ฌ์ฉ ์์
- pandas ๋ฐ์ดํฐํ๋ ์ ๋๋ ์์ฑ์ ์ฌ์ฉ
- API ๋ชจํน ํ๋จ ํ ์คํธ์ ์ ์ฉ
- ๋ก์ผ์ผ ํผํฉ์ผ๋ก ๋ค๊ตญ์ด ์๋๋ฆฌ์ค ๊ฒ์ฆ
์ฌ์ฉ ๋ฐฉ๋ฒ
๊ฐ์ฒด ์์ฑ
- ๋ก์ผ์ผ๋ก ๋ฌธํ๊ถ๋ณ ๋ฐ์ดํฐ ์์ฑ ๊ฐ๋ฅ
from faker import Faker fake = Faker('ko_KR') # ํ๊ตญ์ด ๋ก์ผ์ผ
์ฌ๋ ๊ด๋ จ ๋ฐ์ดํฐ
- ์ด๋ฆ
fake.name() # ํ๊ธธ๋ fake.first_name() fake.last_name() - ์ ์
fake.ssn() fake.profile() - ์ฐ๋ฝ์ฒ
fake.phone_number() fake.email() fake.address()
์๊ณ์ด ๋ฐ์ดํฐ
- ๋ ์ง์ ์๊ฐ
fake.date() # 2025-06-21 fake.time() # 14:23:01 fake.date_time_this_year() - ํ์์คํฌํ ๋ฌธ์์ด ์ปค์คํ
fake.date_time().isoformat()
๊ธ์ต ๋ฐ์ดํฐ
- ์นด๋
fake.credit_card_number() fake.credit_card_expire() fake.credit_card_provider() - ํํ
fake.pricetag() # โฉ20,000 fake.currency_name()
์ธํฐ๋ท ์๋น์ค
- ์น ์๋ณ์
fake.ipv4() fake.mac_address() fake.url() fake.uri_path() - ํ์ผ๊ณผ ์ด๋ฏธ์ง
fake.file_name() fake.image_url()
ํ ์คํธ ์์ฑ
- ๋ฌธ์ฅ๊ณผ ๋ฌธ๋จ
fake.sentence(nb_words=6) fake.paragraph(nb_sentences=3)
์ฅ์ ์ ๋ณด
- ์๋ ๊ฒฝ๋
fake.latitude() fake.longitude() - ๋์ ๊ตญ๊ฐ
fake.city() fake.country()
๊ณ ๊ธ ํจํด
- ์๋ ๊ณ ์ ์ผ๋ก ์ฌํ ๊ฐ๋ฅ์ฑ ํ๋ณด
Faker.seed(42) - ์ ๋ํฌ ์์ฑ
fake.unique.email() - provider ํ์ฅ
from faker.providers import BaseProvider import random class ColorProvider(BaseProvider): def hex_color(self): return '#%06x' % random.randint(0, 0xFFFFFF) fake.add_provider(ColorProvider) fake.hex_color()