我需要一些帮助使用 faker 将随机测试数据写入 csv 文件
I need some help Write random test data to csv file using faker
我是 Python 2.7 的新手
我正在尝试使用 Python faker 包将一些随机测试数据写入 csv 文件。
我已将随机名字值存储到名为 'firstNameList' 的 List 变量中
然后我使用 write_to_csv.writerow(firstNameList)
将值写入 csv
csv文件中写出的值是
|('first_name', 你'莫妮卡')|
我只想要 csv 中的名字值,例如莫妮卡
我不想要整个字符串 |('first_name', u'Monica')|在 csv.
我注意到我的另一个名字变量 firstName1 的值为 Loraine
这个会很好用。但是当我尝试将 firstName1 写入 csv 时,输出是
f i r s t _ n a m e
我的代码如下。
我将值存储在 List 变量中,因为我想在 csv 中填充几行。假设 100 行随机数据。
如果我将 100 个名字存储到名称列表变量中,然后我可以使用 for 循环遍历列表并将值输出到 csv 文件。
然后我会对地址、电子邮件、phone 等做同样的事情
from faker.factory import Factory
import csv
def writeTo_csv(fake):
with open('test.csv', 'wb') as csvfile:
write_to_csv = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
write_to_csv.writerow(['id,', 'TITLE,', 'FNAME,', 'SNAME,', 'GENDER,', 'ADD1,', 'ADD2,', 'ADD3,', 'ADD4,', 'PCODE,', 'PHONE,', 'MOBILE,', 'DOB'])
firstName1 = "first_name"
firstNameList = [(firstName1, getattr(fake, firstName1)())]
print "%s = %s" % (firstName1, getattr(fake, firstName1)())
print firstNameList
write_to_csv.writerow(firstName1)
if __name__ == "__main__":
fake = Factory.create('en_GB')
writeTo_csv(fake)
您在列表中有一个元组,在 firstNameList
变量中。您必须提取随机名称,例如:
firstNameList[0][1]
打印时,writerow()
接受一个可迭代的数据结构,并使用构造函数中指定的分隔符分隔每个元素,因此如果您传递一个字符串,它会将每个字母假定为一个字段,您必须创建一个列表或一个包含你所有名字的元组,将它们正确分开。在下面的示例中,我使用了一个元组,例如:
write_to_csv.writerow((firstNameList[0][1],))
所以脚本如下:
from faker.factory import Factory
import csv
def writeTo_csv(fake):
with open('test.csv', 'wb') as csvfile:
write_to_csv = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
write_to_csv.writerow(['id,', 'TITLE,', 'FNAME,', 'SNAME,', 'GENDER,', 'ADD1,', 'ADD2,', 'ADD3,', 'ADD4,', 'PCODE,', 'PHONE,', 'MOBILE,', 'DOB'])
firstName1 = "first_name"
firstNameList = [(firstName1, getattr(fake, firstName1)())]
print "%s = %s" % (firstName1, getattr(fake, firstName1)())
print firstNameList
write_to_csv.writerow((firstNameList[0][1],))
if __name__ == "__main__":
fake = Factory.create('en_GB')
writeTo_csv(fake)
这会产生一个 test.csv
文件,例如:
id, TITLE, FNAME, SNAME, GENDER, ADD1, ADD2, ADD3, ADD4, PCODE, PHONE, MOBILE, DOB
Dana
我是 Python 2.7 的新手 我正在尝试使用 Python faker 包将一些随机测试数据写入 csv 文件。 我已将随机名字值存储到名为 'firstNameList' 的 List 变量中 然后我使用 write_to_csv.writerow(firstNameList)
将值写入 csvcsv文件中写出的值是 |('first_name', 你'莫妮卡')|
我只想要 csv 中的名字值,例如莫妮卡 我不想要整个字符串 |('first_name', u'Monica')|在 csv.
我注意到我的另一个名字变量 firstName1 的值为 Loraine 这个会很好用。但是当我尝试将 firstName1 写入 csv 时,输出是 f i r s t _ n a m e
我的代码如下。
我将值存储在 List 变量中,因为我想在 csv 中填充几行。假设 100 行随机数据。
如果我将 100 个名字存储到名称列表变量中,然后我可以使用 for 循环遍历列表并将值输出到 csv 文件。
然后我会对地址、电子邮件、phone 等做同样的事情
from faker.factory import Factory
import csv
def writeTo_csv(fake):
with open('test.csv', 'wb') as csvfile:
write_to_csv = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
write_to_csv.writerow(['id,', 'TITLE,', 'FNAME,', 'SNAME,', 'GENDER,', 'ADD1,', 'ADD2,', 'ADD3,', 'ADD4,', 'PCODE,', 'PHONE,', 'MOBILE,', 'DOB'])
firstName1 = "first_name"
firstNameList = [(firstName1, getattr(fake, firstName1)())]
print "%s = %s" % (firstName1, getattr(fake, firstName1)())
print firstNameList
write_to_csv.writerow(firstName1)
if __name__ == "__main__":
fake = Factory.create('en_GB')
writeTo_csv(fake)
您在列表中有一个元组,在 firstNameList
变量中。您必须提取随机名称,例如:
firstNameList[0][1]
打印时,writerow()
接受一个可迭代的数据结构,并使用构造函数中指定的分隔符分隔每个元素,因此如果您传递一个字符串,它会将每个字母假定为一个字段,您必须创建一个列表或一个包含你所有名字的元组,将它们正确分开。在下面的示例中,我使用了一个元组,例如:
write_to_csv.writerow((firstNameList[0][1],))
所以脚本如下:
from faker.factory import Factory
import csv
def writeTo_csv(fake):
with open('test.csv', 'wb') as csvfile:
write_to_csv = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
write_to_csv.writerow(['id,', 'TITLE,', 'FNAME,', 'SNAME,', 'GENDER,', 'ADD1,', 'ADD2,', 'ADD3,', 'ADD4,', 'PCODE,', 'PHONE,', 'MOBILE,', 'DOB'])
firstName1 = "first_name"
firstNameList = [(firstName1, getattr(fake, firstName1)())]
print "%s = %s" % (firstName1, getattr(fake, firstName1)())
print firstNameList
write_to_csv.writerow((firstNameList[0][1],))
if __name__ == "__main__":
fake = Factory.create('en_GB')
writeTo_csv(fake)
这会产生一个 test.csv
文件,例如:
id, TITLE, FNAME, SNAME, GENDER, ADD1, ADD2, ADD3, ADD4, PCODE, PHONE, MOBILE, DOB
Dana