Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数据导出到CSV文件时,可能会出现错误';t编码字符'\xe8';_Python_Csv - Fatal编程技术网

Python 将数据导出到CSV文件时,可能会出现错误';t编码字符'\xe8';

Python 将数据导出到CSV文件时,可能会出现错误';t编码字符'\xe8';,python,csv,Python,Csv,我有一大组数据,我将使用以下代码将它们导出到CSV文件中 with open ('/Users/mz/Dropbox/dis/Programming/zoloft.csv', 'w', newline = '') as zolo: zolo = csv.writer(zolo, delimiter =',', quotechar='|') rows = zip(all_rating, all_disorders, all_side_e

我有一大组数据,我将使用以下代码将它们导出到CSV文件中

 with open ('/Users/mz/Dropbox/dis/Programming/zoloft.csv',
            'w', newline = '') as zolo:
        zolo = csv.writer(zolo, delimiter =',', quotechar='|')


        rows = zip(all_rating, all_disorders, all_side_effects,
                   all_comments, all_gender, all_age, all_dosage_duration, all_date)

        for row in rows:       
            zolo.writerow(row)
但有以下错误:

   zolo.writerow(row)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe8' in position 179: ordinal not in range(128)
在我编写的代码中有没有办法处理这个错误?谢谢

是,但您的数据集显然包含Unicode字符。因此,您可以做的事情与的答案类似,并将Unicode字符转换为最接近的ASCII等效字符(这样您的文本以后就不会难以辨认)

我会选择这样的方式:

from unidecode import unidecode
with open('file', 'w', newline = '') as zolo:
    zolo = csv.writer(zolo, delimiter =',', quotechar='|')

    rows = zip(all_rating, all_disorders, all_side_effects,
               all_comments, all_gender, all_age,
               all_dosage_duration, all_date)

    for row in rows:       
        zolo.writerow(map(unidecode, row))
是,但数据集显然包含Unicode字符。因此,您可以做的事情与的答案类似,并将Unicode字符转换为最接近的ASCII等效字符(这样您的文本以后就不会难以辨认)

我会选择这样的方式:

from unidecode import unidecode
with open('file', 'w', newline = '') as zolo:
    zolo = csv.writer(zolo, delimiter =',', quotechar='|')

    rows = zip(all_rating, all_disorders, all_side_effects,
               all_comments, all_gender, all_age,
               all_dosage_duration, all_date)

    for row in rows:       
        zolo.writerow(map(unidecode, row))

看起来某人的名字或评论中有。看起来某人的名字或评论中有。谢谢!仍然存在以下错误:“文件”//Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site packages/unidecode/_init__.py”,第48行,在unidecode\u expect\u ascii bytestring=string.encode('ascii')')AttributeError:“tuple”对象没有“encode”属性,你能帮我吗?谢谢!,我试过了。输出只是一些字母的列(如“o”、“l”、“k”),它似乎删除了所有信息,只保留了一些字母。@Sebastian Lenartowicz,谢谢!非常感谢。仍然存在以下错误:“文件”//Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site packages/unidecode/_init__.py”,第48行,在unidecode\u expect\u ascii bytestring=string.encode('ascii')')AttributeError:“tuple”对象没有“encode”属性,你能帮我吗?谢谢!,我试过了。输出只是一些字母的列(如“o”、“l”、“k”),它似乎删除了所有信息,只保留了一些字母。@Sebastian Lenartowicz,谢谢!