使用Python获取以下示例的CSV输出

使用Python获取以下示例的CSV输出,python,csv,project,Python,Csv,Project,我又回到了我正在进行的学生项目分配问题。多亏了(和他同名的人不相配)我对我的项目的评估部分有了一些指导 根据赋值问题和匈牙利算法的思想,我想以.csv文件的形式表达我的数据,最终以电子表格的形式呈现。这是基于我看到的结构 为了让它不那么神秘:行是学生/代理,列代表项目/任务。显然,一个项目可以分配给一个学生。简言之,这就是我的项目。这些字段表示学生对项目的偏好权重(范围从1到10)。如果为空,则该学生不想要该项目,也不可能被分配该项目 无论如何,我的数据存储在字典中。特别是学生和项目词典,以便:

我又回到了我正在进行的学生项目分配问题。多亏了(和他同名的人不相配)我对我的项目的评估部分有了一些指导

根据赋值问题和匈牙利算法的思想,我想以.csv文件的形式表达我的数据,最终以电子表格的形式呈现。这是基于我看到的结构

为了让它不那么神秘:行是学生/代理,列代表项目/任务。显然,一个项目可以分配给一个学生。简言之,这就是我的项目。这些字段表示学生对项目的偏好权重(范围从1到10)。如果为空,则该学生不想要该项目,也不可能被分配该项目

无论如何,我的数据存储在字典中。特别是学生和项目词典,以便:

students[student_id] = Student(student_id, student_name, alloc_proj, alloc_proj_rank, preferences) 
    where preferences is in the form of a dictionary such that
        preferences[rank] = {project_id}

我知道
sorted(students.keys())
将为我提供一个所有学生ID的排序列表,这些ID将填充行标签,
sorted(projects.keys())
将为我提供填充列标签所需的列表。因此,对于每个学生,我都会进入他们的偏好词典,将适用的项目与排名进行匹配。我能做到这一点


我失败的地方是理解如何创建.csv文件。我们将非常感谢您提供的任何帮助、指导或优秀教程。

本模块正是为此而设计的。

请查看csv模块。基本上,您只需要将数据放入某种序列(列表、元组等),然后就可以执行
csv.writerow()


那么左上角的那个小空格就是一个空字符串?
students[student_id] = Student(student_id, student_name, alloc_proj, alloc_proj_rank, preferences) 
    where preferences is in the form of a dictionary such that
        preferences[rank] = {project_id}
projects[project_id] = Project(project_id, project_name)
import csv
cot=csv.writer(open('file.csv','wb'))

tmp=[['','Project 1','Project 2','Project 3'],
     ['Student1','','2','1'],
     ['Student2','1','2','3'],
     ['Student3','1','3','2']]
for t in tmp:
    cot.writerow(t)