728x90
โป SK ์ด๋์ค ๋ฃจํค์ฆ 24๊ธฐ (ํด๋ผ์ฐ๋๊ธฐ๋ฐ ์ค๋งํธ ์ตํฉ๋ณด์ ๊ณผ์ ) ๊ต์ก์ ๋ค์ผ๋ฉด์ ์์ฑํ ๋ด์ฉ์ ๋๋ค.
- ๊ฐ์ง ๋ฐ์ดํฐ๋ ํ ์คํธ, ํ๋กํ ํ์ดํ, ํ์ต์ฉ ๋ฐ์ดํฐ ์์ฑ ๋ฑ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋จ
- ํ์ด์ฌ์์๋ Faker๋ผ๋ ๊ฐ๋ ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ๋ค์ํ ์ ํ์ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ ์์ฑํ ์ ์์
1๏ธโฃ Faker๋?
- ์ด๋ฆ, ์ฃผ์, ์ด๋ฉ์ผ, ์ ํ๋ฒํธ, ๋ ์ง, ํ ์คํธ ๋ฑ ๋ค์ํ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ํนํ ๋ค๊ตญ์ด ๋ฐ์ดํฐ๋ฅผ ์ง์ํ๋ฉฐ, ๋ค์ํ ํ๊ฒฝ์์ ์ฌ์ฉ ๊ฐ๋ฅํจ
2๏ธโฃ Faker ์ค์น
- Faker๋ Python ํจํค์ง์ด๋ฏ๋ก pip๋ฅผ ์ฌ์ฉํ์ฌ ์ค์นํ ์ ์์
pip install faker
- ์ค์น ํ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ์์ ์ผ๋ก ์ค์น๋์๋์ง ํ์ธํ๊ธฐ ์ํด ์๋์ ๊ฐ์ ๊ฐ๋จํ ์ฝ๋๋ฅผ ์คํํด๋ณผ ์ ์์
from faker import Faker
fake = Faker()
print(fake.name()) # ๋๋ค ์ด๋ฆ ์ถ๋ ฅ
print(fake.address()) # ๋๋ค ์ฃผ์ ์ถ๋ ฅ
3๏ธโฃ Faker์ ์ฃผ์ ๊ธฐ๋ฅ
๐น1. ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
- Faker ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ์ ์์
from faker import Faker
fake = Faker()
# ๊ฐ์ง ๋ฐ์ดํฐ ์์ฑ
print("Name:", fake.name()) # ์ด๋ฆ
print("Email:", fake.email()) # ์ด๋ฉ์ผ
print("Address:", fake.address()) # ์ฃผ์
print("Phone:", fake.phone_number()) # ์ ํ๋ฒํธ
๐น2. ๋ค๊ตญ์ด ์ง์
- Faker๋ ๋ค์ํ ์ธ์ด์ ๋ก์ผ์ผ์ ์ง์ํจ. ํน์ ์ธ์ด๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ค๋ฉด ๊ฐ์ฒด ์์ฑ ์ locale ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋จ
fake_kr = Faker("ko_KR")
print("ํ๊ตญ์ด ์ด๋ฆ:", fake_kr.name())
print("ํ๊ตญ์ด ์ฃผ์:", fake_kr.address())
fake_us = Faker("en_US")
print("์์ด ์ด๋ฆ:", fake_us.name())
print("์์ด ์ฃผ์:", fake_us.address())
๐น3. ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ดํฐ ์์ฑ
- ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ์์ฑํ๋ ค๋ฉด for ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ์ ์์
for _ in range(5):
print(fake.name(), "-", fake.email())
๐น4. ํน์ ๋ฐ์ดํฐ ์์ฑ
- Faker๋ ํน์ ์ ํ์ ๋ฐ์ดํฐ(๋ ์ง, ํ์ฌ ์ด๋ฆ, ์นด๋ ๋ฒํธ ๋ฑ)๋ฅผ ์์ฑํ ์ ์์
print("Company:", fake.company()) # ํ์ฌ๋ช
print("Job:", fake.job()) # ์ง์
๋ช
print("Date:", fake.date()) # ์์ ๋ ์ง
print("Credit Card:", fake.credit_card_number()) # ์ ์ฉ์นด๋ ๋ฒํธ
๐น5. ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ
- ํน์ ํ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ค๋ฉด Faker์ unique ๋๋ seed_instance() ๊ธฐ๋ฅ์ ํ์ฉ ๊ฐ๋ฅ
# ๊ณ ์ ํ ๋ฐ์ดํฐ ์์ฑ
fake = Faker()
fake.unique.seed_instance(42)
print(fake.unique.email())
# ํน์ ์๋๋ก ์ผ๊ด๋ ๋ฐ์ดํฐ ์์ฑ
Faker.seed(42)
print(fake.name())
print(fake.name())
4๏ธโฃ Faker๋ฅผ ํ์ฉํ ๋ฐ์ดํฐ ์ํ ์์ฑ
๐น1. ์ฌ์ฉ ์์: ์ฌ์ฉ์ ์ ๋ณด ์์ฑ
- Faker๋ฅผ ์ฌ์ฉํด ์์์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ์์
users = []
for _ in range(5):
user = {
"name": fake.name(),
"email": fake.email(),
"address": fake.address(),
"phone": fake.phone_number()
}
users.append(user)
for user in users:
print(user)
๐น2. ์ฌ์ฉ ์์: csv ํ์ผ ์ ์ฅ
- Faker์ csv ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก ์ ์ฅ ๊ฐ๋ฅ
import csv
with open("fake_users.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["Name", "Email", "Address", "Phone"])
for _ in range(10):
writer.writerow([fake.name(), fake.email(), fake.address(), fake.phone_number()])
print("CSV ํ์ผ ์์ฑ ์๋ฃ!")
728x90
'๐งฉ Language > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] Flask๋ก ๊ฐ๋จํ RSS ๋ฆฌ๋ ํ์ด์ง ๊ตฌํํ๊ธฐ (2) | 2025.01.16 |
---|---|
[Python] Flask ๊ธฐ์ด ๋ฐฐ์ฐ๊ธฐ: Python์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ (1) | 2025.01.16 |
[Python] FTP ํ๋กํ ์ฝ ์ฐ๊ฒฐ ๋ฐ ์๋ํ (0) | 2025.01.16 |
ํ์ด์ฌ ์์ ๋ฌธ์ ์๋ํ (0) | 2025.01.16 |
Python ์น ์คํฌ๋ํ (2) Requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ (0) | 2025.01.16 |