Python 2.7 PYTHON2-有没有办法在csv写入中声明编码方法

Python 2.7 PYTHON2-有没有办法在csv写入中声明编码方法,python-2.7,csv,encoding,Python 2.7,Csv,Encoding,当我尝试将来自数据库执行的游标结果(类型是列表)写入csv时,会抛出错误 a.writerow(lst)类型错误:write()参数1必须是unicode,而不是str results_percent = cursor.fetchall() with io.open(file4,'w',encoding='utf-8') as fp: a = csv.writer(fp, delimiter=',') lst = ['MFIName','ClientCou

当我尝试将来自数据库执行的游标结果(类型是列表)写入csv时,会抛出错误 a.writerow(lst)类型错误:write()参数1必须是unicode,而不是str

   results_percent = cursor.fetchall()
   with io.open(file4,'w',encoding='utf-8') as fp:
       a = csv.writer(fp, delimiter=',')
       lst = ['MFIName','ClientCountAtSignUp','UploadCountLastMonth','UploadCount','80%','Status']
       a.writerow(lst)
       a.writerows(results_percent)
这是给蟒蛇的。我在python3中尝试过如下脚本。但是系统要求我改变Python2

这是使用python3的正确脚本

    results_percent = cursor.fetchall()
    with open(file4,'w',encoding="utf-8",newline='') as fp:
        a = csv.writer(fp, delimiter=',')
        a.writerow(['MFIName','ClientCountAtSignUp','UploadCountLastMonth','UploadCount','80%','Status'])
        a.writerows(results_percent)

下面是通过使用python2得到的错误a.writerow(lst)TypeError:write()参数1必须是unicode,而不是str

   results_percent = cursor.fetchall()
   with io.open(file4,'w',encoding='utf-8') as fp:
       a = csv.writer(fp, delimiter=',')
       lst = ['MFIName','ClientCountAtSignUp','UploadCountLastMonth','UploadCount','80%','Status']
       a.writerow(lst)
       a.writerows(results_percent)

输出是将结果百分比写入csv文件。

是否查看了?是的。我已经做完了。我想我的问题不是csv。来自数据库的数据类型为pyodbc.Row。我还是不知道我该怎么用csv写