프로젝트를 진행하다가 테스트 용도로 데이터가 필요한 경우가 있다. 이때 python에서는 더미 데이터를 쉽게 생성할 수 있게 도와주는 Faker 라이브러리를 제공한다.
오늘 이거에 대해 다 알았다 이런건 아니고 내가 오늘 사용한 건 Faker의 빙산의 일각일 뿐이니까 공식 문서에서 필요한걸 찾아서 사용하면 될 것 같다.
pip install Faker
from faker import Faker
fake = Faker()
# 랜덤 이메일 값 생성
email = fake.email()
# 랜덤 이름 생성
name = fake.name()
위의 방법처럼 사용하면 된다.
만약 한국어로 필요하다면 Faker 인스턴스를 생성할 때 "ko_KR"을 넘겨주면 된다.
fake = Faker("ko_KR")
엑셀에 유저 정보를 넣어주기 위해서 faker를 사용해서 했다.
def test_make_xlsx_file(self):
make_xlsx_file(2)
data = {'clientID': 'test'}
file = {'fileToUpload': open('test/userlist_make.xlsx', 'rb')}
req = requests.post('url', files=file, data=data)
self.assertEqual(200, req.status_code)
def make_xlsx_file(num):
fake = Faker()
wb = openpyxl.Workbook()
new_file = 'test/userlist_make.xlsx'
sheet1 = wb.active
sheet1['A1'].value = 'name'
sheet1['B1'].value = 'surname'
sheet1['C1'].value = 'email'
sheet1['D1'].value = 'password'
for i in range(2, 2 + num):
sheet1['A' + str(i)].value = fake.first_name()
sheet1['B' + str(i)].value = fake.last_name()
sheet1['C' + str(i)].value = fake.email()
sheet1['D' + str(i)].value = '1234'
wb.save(new_file)