You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求优化Python代码以生成含1000行指定字段的CSV文件

解决生成1000行符合要求的CSV数据问题

修改后的完整代码

import csv
import random
from datetime import datetime, timedelta

# 修正字段名以匹配需求
fields = ['StudentID', 'Score', 'Date', 'Description',
          'Ethnicity', 'Subject', 'Hobby', 'Interest']

description_list = ('Delhi','Noida','goa','varansi','Assam','Kerala','Kolkata','Shilong','Bangluru','Gujrat')
Ethnicity_list = ('Sikh','Kashmiri','Rajput','Bhramin','Kayasth','Adiwasi','Odia','Maratha')
Subject_list = ('微积分', '统计学', '数据库', 'English','Maths','Economics','Hindi','French','Zoology','Chemistry')
Hobby_list = ('Reading','Swimming','Cycling','Biking','Gaming','Sleeping','Teaching','Cricket','Shooting','Talking')
Interest_list = ('音乐','非虚构作品','辩论','游泳','Watching TV','Esports','Football','MotoRacing','Painting','Sketching')

# 生成1000行数据
data = []
today = datetime.now()
for student_id in range(1, 1001):
    # 生成最近20天内的随机日期
    days_ago = random.randint(0, 19)
    random_date = today - timedelta(days=days_ago)
    formatted_date = random_date.strftime("%d/%m/%Y")
    
    row = [
        student_id,
        random.randint(40, 100),
        formatted_date,
        random.choice(description_list),
        random.choice(Ethnicity_list),
        random.choice(Subject_list),
        random.choice(Hobby_list),
        random.choice(Interest_list)
    ]
    data.append(row)

filename = "assignment.csv"

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

关键修改说明

  • 修复语法错误:原代码import csv import random语法错误,拆分为两个独立导入,同时新增datetime模块处理日期。
  • 字段名对齐需求:修正了字段名拼写(如Ethinicity→Ethnicity、Intrest→Interest),并调整为需求中的标准命名(Student Id→StudentID)。
  • 生成1000行唯一数据:通过range(1,1001)循环生成StudentID,确保1到1000的唯一性,避免原代码中randint可能出现的重复问题。
  • 完善随机日期逻辑:基于当前日期,通过timedelta生成最近20天内的随机日期,并格式化为dd/mm/yyyy格式。
  • 优化CSV写入:添加newline=''避免Windows下生成多余空行,指定encoding='utf-8'确保中文内容正常存储。

内容的提问来源于stack exchange,提问作者Shivam srivastav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:55:44