PYTHON2 - есть ли способы объявить метод кодирования в записи CSV - PullRequest
0 голосов
/ 22 октября 2019

Когда я пытаюсь записать результат курсора, полученный при выполнении базы данных (тип является списком), в CSV, ошибка выдает a.writerow (lst) TypeError: write () аргумент 1 должен быть в Unicode, а не в str

Это для python2. Я пробовал в 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-файл.

...