https://faker.readthedocs.io/en/master/index.html#localization
这里主要生成中文测试数据,所以提供常见的方法示例是中文的。想要了解其他的,可以在官网点击其他语言 。
1.地址信息类:
fake.address() :完整地址,比如XX省XX市XX路XX号
fake.street_address() :街道+地址
fake.street_name() :街道名
fake.city_name() :城市名
fake.city() :城市
fake.province():省份
fake.postcode() :邮编
fake.country() :国家
2.公司信息类:
fake.company():公司名
fake.company_suffix():公司名后缀(公司性质)
fake.company_prefix():公司名前缀
3、日期
fake.date(pattern="%Y-%m-%d", end_datetime=None)
fake.year():随机年份
fake.day_of_week():随机星期数
fake.time(pattern="%H:%M:%S", end_datetime=None):随机时间
4、文章句子类:
fake.word(ext_word_list=None):随机词语 ext_word_list可以是一个列表,那么词语会从列表中取
fake.words(nb=3, ext_word_list=None):随机多个词语 nb是数量,对于words来说是返回多少个词语
fake.sentence(nb_words=6, variable_nb_words=True,ext_word_list=None): 随机短语(会包括短语结束标志点号)
fake.paragraph(nb_sentences=3,variable_nb_sentences=True,ext_word_list=None):随机段落
fake.paragraphs(nb=3, ext_word_list=None):多个随机段落
5、随机数字类
fake.pystr(min_chars=None, max_chars=20):自定义长度的随机字符
fake.pyint():随机整数
6、其他
fake.name():姓名
fake.user_name(*args,**kwargs):用户名,只是随机的英文姓名组合,一般是6位
fake.phone_number():电话号码
fake.simple_profile(sex=None):简略个人信息,包括用户名,姓名,性别,地址,邮箱,出生日期。
fake.profile(fields=None,sex=None):详略个人信息,比简略个人信息多出公司名、血型、工作、位置、域名等等信息。
fake.password():密码,参数选项:length:密码长度;special_chars:是否能使用特殊字符;digits:是否包含数字;upper_case:是否包含大写字母;lower_case:是否包含小写字母。默认情况:length=10,special_chars=True, digits=True, upper_case=True, lower_case=True
fake.job():工作
from faker import Faker
import xlsxwriter
wb = xlsxwriter.Workbook('test.xlsx') #创建一个新的工作簿对象
ws = wb.add_worksheet('Sheet1')
heading = ['Name', 'Job', 'City', 'Postcode', 'Word', 'Year']
my_bold = wb.add_format({'bold': True})
ws.write_row('A1', heading, my_bold) # 表头加粗
ws.set_column(1, 3, 20) # 设置第2至4列的宽度为20
ws.set_column(4, 4, 50) # 设置第5列的宽度为30
a = 2
fake = Faker(locale='zh_CN') # 指定中文语言和类型生成数据
for _ in range(30):
name = fake.name() #姓名
job = fake.job() #工作
city = fake.city() #城市
postcode = fake.postcode() #邮编
word = fake.sentence(nb_words=6, variable_nb_words=True, ext_word_list=None) #随机短语
year = fake.year() # 年份
## print(f"Name: {name}, Job: {job}, city: {city}, postcode:{postcode}, word:{word},year: {year}")
ws.write_row('A' + str(a), {name}) # 从第二行开始写入
ws.write_row('B' + str(a), {job})
ws.write_row('C' + str(a), {city})
ws.write_row('D' + str(a), {postcode})
ws.write_row('E' + str(a), {word})
ws.write_row('F' + str(a), {year})
a += 1
wb.close()