python-3.x 我想创建一个包含1000行的csv文件,并为其生成随机数

wyyhbhjk  于 2022-11-26  发布在  Python
关注(0)|答案(1)|浏览(111)

问题:创建一个包含1000行的文本/csv文件,其中包含以下字段/列:学号:唯一标识符1:1000分数:40-100之间的随机数日期:过去20天内的任意日期。例如:2022年11月18日描述:从你选择的10个单词列表中随机选择一个单词种族:随机分配一个种族(如果你不知道意思,请谷歌一下)主题:从10名受试者中随机分配一名。例如:微积分、统计学、数据库、爱好:从10个爱好中随机选择一个兴趣:从10个兴趣列表中随机分配一个。例如:音乐、非小说、辩论、游泳、

import csv import random

fields = ['Student Id', 'score', 'date', 'Description',
'Ethinicity', 'Subject', 'Hobby', 'Intrest']
description_list=('Delhi','Noida','goa','varansi','Assam','Kerala','Kolkata','Shilong','Bangluru','Gujrat')
Ethinicity_list=('Sikh','Kashmiri','Rajput','Bhramin','Kayasth','Adiwasi','Odia','Maratha')
Subject_list=('English','Maths','Economics','Hindi','French','Zoology','Chemistry','Physics','Social
Science','Python')
Hobby_list=('Reading','Swimming','Cycling','Biking','Gaming','Sleeping','Teaching','Cricket','Shooting','Talking')
Intrest_list=('Watching
TV','Esports','Football','MotoRacing','Music','Painting','Sketching','Cooking','Cars','Comedy')
data = [
    [random.randint(1, 1000),random.randint(40,100),'__',random.choice(description_list),random.choice(Ethinicity_list),random.choice(Subject_list),random.choice(Hobby_list),random.choice(Intrest_list)]
]

filename = "assignment.csv"

with open(filename, 'w') as csvfile:     
    csvwriter = csv.writer(csvfile)
    csvwriter.writerow(fields)
    csvwriter.writerows(data)

这将生成一行所需的数据。我想生成1000行相同的数据。

wixjitnu

wixjitnu1#

你可以将列表解析和Pandas Dataframe 一起使用,大致如下:

import pandas as pd

# randomly chooses an element of your list/tuple 1000 times
description_choices = [random.choice(description_list) for _ in range(1000)]
...

# create table with random data
df = pd.DataFrame({'Description': description_choices, 
        ...
        })

df.to_csv('results.csv')

相关问题