问题描述
我尝试使用fakerr生成伪数据并将其写入excel工作表,但仅写入标题行时不会生成数据,让我知道我做错了
namespace
解决方法
这将为您提供所需的结果:
import xlsxwriter
from faker import Faker
w_data = xlsxwriter.Workbook("new_data.xlsx")
s_data = w_data.add_worksheet()
s_data.write("A1","Name")
s_data.write("B1","Email")
s_data.write("C1","SSN")
s_data.write("D1","Phone Number")
s_data.write("E1","Address")
f_data = Faker()
def generate_data(f_data):
name = f_data.name()
email = f_data.email()
ssn = f_data.ssn()
phone_number = f_data.phone_number()
address = f_data.address()
return name,email,ssn,phone_number,address
for i in range (0,1000):
name,address = generate_data(f_data)
s_data.write(i,name)
s_data.write(i,1,email)
s_data.write(i,2,ssn)
s_data.write(i,3,phone_number)
s_data.write(i,4,address)
w_data.close()
我们没有生成一个包含1000个条目的名称,电子邮件等的列表,而是试图一个接一个地写入每个条目,我们只是重构了该函数以一次生成一组数据。在for
循环中,我们调用该函数并写入返回的值,然后继续进行下一行。由于显式优于隐式,因此我们将f_data
Faker对象传递给该函数,因此它不必依赖于从外界读取任何内容。