如何在运行时使用python创建csv文件?

时间:2019-07-09 09:33:07

标签: python sql csv

我有一个查询,该查询返回每个学生的详细信息及其姓名。我想将这些详细信息以CSV格式存储,并使用python将学生姓名作为文件名。是否可以这样做?又怎样?在下面的示例中,我将所有学生的详细信息存储在一个文件中('Name.csv'),但是我想将每个学生的详细信息存储在一个单独的csv文件中,并将学生名作为文件名。我应该手动执行。是否可以在运行时创建csv文件?

 def WriteCsv(self,sql,StudentName):
  StudentNameResult=obj.cursor.execute(StudentName)
  f=open('Name.csv', 'w')
  TempList1=[]
  TempList2=[]
  for values in StudentNameResult:
   x=list(values)
   TempList1.append(x)
  QueryResult=obj.cursor.execute(sql)
  for Values in QueryResult:
   y=list(Values)
   TempList2.append(y)
  for StuName in TempList1:
    for StudName in TempList2:
     if (StuName[0]==StudName[0]):
      writer = csv.writer(f)
      writer.writerow(StudName)

StudentName="select Name from StudentCsv"
sql="select name,rollno,CourseName,Subject,empName,dept,block from   studentcsv
x=obj.WriteCsv(sql,StudentName)

1 个答案:

答案 0 :(得分:1)

我不太了解您的代码。为什么不执行查询:

  

选择名称,rollno,CoursName,Subject,empName,dept,FROM   学生csv

并在结果行中循环,同时使用学生姓名将数据写入CSV。

for row in cursor.fetch_all():
    f=open(row["name"], 'w')
    # Write data to CSV