Python 用均匀分布的值填充CSV
我想编写一个python脚本,根据列填充CSV文件,并且每列都有一个只能在列中的字符串的预设列表 示例: 对于“name”列,唯一可能的值是“Andrew”、“James”、“Steve”、“Charlie”等。以类似的方式,其他每一列都有一个可能值的预设列表 我希望尽可能以最均匀的分布填充CSV,以便有不同列值组合的行 问题:Python 用均匀分布的值填充CSV,python,performance,csv,Python,Performance,Csv,我想编写一个python脚本,根据列填充CSV文件,并且每列都有一个只能在列中的字符串的预设列表 示例: 对于“name”列,唯一可能的值是“Andrew”、“James”、“Steve”、“Charlie”等。以类似的方式,其他每一列都有一个可能值的预设列表 我希望尽可能以最均匀的分布填充CSV,以便有不同列值组合的行 问题: 我应该使用列表并随机选择值吗 会不会造成裁员 有没有更好的方法 以下内容将帮助您开始: import csv import random with open('out
以下内容将帮助您开始:
import csv
import random
with open('output.csv', 'w', newline='') as f_output:
csv_output = csv.writer(f_output)
csv_output.writerow(["Name", "Age"])
names = ["Andrew", "Steve", "Charlie"]
for _ in range(10): # Create 10 entries
name = random.choice(names)
age = random.randint(20, 50)
csv_output.writerow([name, age])
为您提供示例输出,例如:
姓名、年龄
安德鲁,50岁
史蒂夫,37岁
查理,34岁
安德鲁,47岁
安德鲁,28岁
安德鲁,27岁
查理,29岁
查理,49岁
史蒂夫,42岁
查理,38岁
你所说的“冗余”是什么意思?如果你说的是重复的,那么,如果名称列表是有限的,那么要生成的值的数量大于名称的数量,这肯定会有重复的条目。听起来像是伪造者的工作:这正是为了制作诸如姓名或地址之类的假数据,甚至可以根据需要定制。您可以使用random
库中的random.choice(),我还使用了faker来获取一些数据。