[Python] Faker๋ฅผ ์ด์šฉํ•œ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

2025. 1. 17. 22:57ยท๐Ÿงฉ Language/Python
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
'๐Ÿงฉ Language/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Python] Flask๋กœ ๊ฐ„๋‹จํ•œ RSS ๋ฆฌ๋” ํŽ˜์ด์ง€ ๊ตฌํ˜„ํ•˜๊ธฐ
  • [Python] Flask ๊ธฐ์ดˆ ๋ฐฐ์šฐ๊ธฐ: Python์œผ๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
  • [Python] FTP ํ”„๋กœํ† ์ฝœ ์—ฐ๊ฒฐ ๋ฐ ์ž๋™ํ™”
  • ํŒŒ์ด์ฌ ์—‘์…€ ๋ฌธ์„œ ์ž๋™ํ™”
WISHee
WISHee
IT์™€ ๋ณด์•ˆ์— ๋Œ€ํ•œ ๊ณต๋ถ€ ๊ธฐ๋ก์„ ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์•„๊ฐ€๋Š” ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๐Ÿ›ก๏ธ๐Ÿ’ป
  • WISHee
    DevwithWish
    WISHee
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸŒณ ROOT (128)
      • โ›“๏ธ ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ (10)
        • ๊ธฐ๋ณธ ๊ฐœ๋… (9)
        • ํŒจํ‚ท ๋ถ„์„ (1)
        • ์นจ์ž… ํƒ์ง€ ๋ฐ ๋ฐฉ์ง€ (0)
      • โš™๏ธ ์‹œ์Šคํ…œ ๋ณด์•ˆ (0)
        • ์šด์˜์ฒด์ œ ๋ณด์•ˆ (0)
        • ์ทจ์•ฝ์  ๋ถ„์„ (0)
        • ๋กœ๊ทธ ๋ถ„์„ (0)
      • ๐ŸŒ ์›น ๋ณด์•ˆ (1)
        • OWASP TOP 10 (1)
        • ์›น ์„œ๋ฒ„ ๋ณด์•ˆ (0)
        • ์›น ์ทจ์•ฝ์  ๋ถ„์„ (0)
      • โ˜๏ธ ํด๋ผ์šฐ๋“œ ๋ณด์•ˆ (3)
        • AWS (3)
      • ๐Ÿ” ์•”ํ˜ธํ™” & ์ธ์ฆ (3)
        • ์•”ํ˜ธํ™” ๊ฐœ๋… (2)
        • TLS,SSL (0)
        • ์ธ์ฆ & ์ ‘๊ทผ์ œ์–ด (1)
      • ๐Ÿšจ ๋ณด์•ˆ ์‹ค๋ฌด (30)
        • ๋ณด์•ˆ ๊ด€์ œ (14)
        • ๋ชจ์˜ ํ•ดํ‚น (12)
        • ์ทจ์•ฝ์  ์ง„๋‹จ (3)
        • ๋””์ง€ํ„ธํฌ๋ Œ์‹ (1)
      • ๐Ÿ“š ISMS & ISO27001 (9)
        • ISMS, ISMS-P ์ธ์ฆ (2)
      • ๐Ÿ“ฐ ๋ณด์•ˆ ๋‰ด์Šค & ํŠธ๋ Œ๋“œ (1)
        • ์ตœ์‹  ๋ณด์•ˆ ์ด์Šˆ (1)
        • ์‚ฌ์ด๋ฒ„ ์œ„ํ˜‘ ์ •๋ณด (0)
        • ๋ณด์•ˆ ์ปจํผ๋Ÿฐ์Šค ๋ฆฌ๋ทฐ (0)
      • ๐Ÿ”ฅ SKShieldusRookies (15)
        • Review (3)
        • PBL (0)
        • ๊ณผ์ œ (4)
        • ๋ชจ๋“ˆ ํ”„๋กœ์ ํŠธ (8)
        • ์ตœ์ข… ํ”„๋กœ์ ํŠธ (0)
      • ๐Ÿ—‚๏ธ Project (3)
        • SOAR (0)
        • BlockChain (3)
      • ๐Ÿงฉ Language (23)
        • Java (1)
        • Python (16)
        • Programmers (6)
      • ๐Ÿ‘ฅ ๋ฒ„์ „๊ด€๋ฆฌ & ํ˜‘์—…๋„๊ตฌ (9)
        • Git, GitHub (4)
        • etc (5)
      • ๐Ÿ’œ ์ผ์ƒ (21)
        • Boot Camp (4)
        • Study (6)
        • Travel (8)
        • Study Abroad (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • GitHub
  • ๊ณต์ง€์‚ฌํ•ญ

    • ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค!
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์œ ๋Ÿฝ์—ฌํ–‰
    ํ”„๋ž‘์Šค์—ฌํ–‰
    ํŒŒ๋ฆฌ์—ฌํ–‰
    Github
    ์™€์ด์–ด์ƒคํฌ
    ์œ ๋Ÿฝํ•œ๋‹ฌ์—ฌํ–‰
    ๋ธ”๋ก์ฒด์ธ์‹ค์Šต
    ๋ณด์•ˆ์‹ค์Šต
    ํ•ด์™ธ์—ฌํ–‰
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๋ฆฌ๋ˆ…์Šค๋ณด์•ˆ
    ์œˆ๋„์šฐ๋ณด์•ˆ
    ๋ชฝ์ƒ๋ฏธ์…ธ
    ๋ชจ์˜ํ•ดํ‚น
    ๋Ÿฐ๋˜์—ฌํ–‰
    ํ”Œ๋ผ์Šคํฌ
    ์˜นํ”Œ๋ขฐ๋ฅด
    ํ˜‘์—…๋„๊ตฌ
    VSCode
    ์นผ๋ฆฌ๋ฆฌ๋ˆ…์Šค
    slack
    flask
    sk์‰ด๋”์Šค๋ฃจํ‚ค์ฆˆ
    ํŒŒ์ด์ฌ
    git
    ๊นƒํ—ˆ๋ธŒ
    ํ•œ๋‹ฌ์—ฌํ–‰
    ์ •๋ณด๋ณด์•ˆ
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    Python
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • 160x600
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
WISHee
[Python] Faker๋ฅผ ์ด์šฉํ•œ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”