Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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/列表读取时出现UnicodeDecodeError:数据意外结束_Python_List_Csv_Unicode_Decode - Fatal编程技术网

Python 从CSV/列表读取时出现UnicodeDecodeError:数据意外结束

Python 从CSV/列表读取时出现UnicodeDecodeError:数据意外结束,python,list,csv,unicode,decode,Python,List,Csv,Unicode,Decode,所以我试着用一种叫做DeepMoji的东西来给一个充满推文的csv评分。推文必须用Unicode编码。我已经能够使用一个小数据集,但对于我拥有的超过200000点的数据集,我收到了以下错误: UnicodeDecodeError:“utf8”编解码器无法解码位置254中的字节0xe2:数据意外结束 我尝试过的代码和解决方案如下,但给出了相同的错误,有人有什么想法吗 TEST_SENTENCES = [] with open('Cleaned_Data3.csv', 'rU') as csvfil

所以我试着用一种叫做DeepMoji的东西来给一个充满推文的csv评分。推文必须用Unicode编码。我已经能够使用一个小数据集,但对于我拥有的超过200000点的数据集,我收到了以下错误: UnicodeDecodeError:“utf8”编解码器无法解码位置254中的字节0xe2:数据意外结束

我尝试过的代码和解决方案如下,但给出了相同的错误,有人有什么想法吗

TEST_SENTENCES = []
with open('Cleaned_Data3.csv', 'rU') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        TEST_SENTENCES.append(row["Tweet"])
    try:
        [x.encode('utf-8') for x in TEST_SENTENCES]
    except:
        for rows in TEST_SENTENCES: #attempt to fix the problem 
            str=unicode(str, errors='replace')
这是完整的错误代码

Traceback (most recent call last):
  File "C:\Users\pjame\Desktop\DeepMoji-master\examples\score_texts_emojis.py", line 24, in <module>
    for row in reader:
  File "C:\Python27\lib\site-packages\unicodecsv\py2.py", line 217, in next
    row = csv.DictReader.next(self)
  File "C:\Python27\lib\csv.py", line 108, in next
    row = self.reader.next()
  File "C:\Python27\lib\site-packages\unicodecsv\py2.py", line 128, in next
    for value in row]
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe2 in position 254: unexpected end of data
回溯(最近一次呼叫最后一次):
文件“C:\Users\pjame\Desktop\DeepMoji master\examples\score\u texts\u emojis.py”,第24行,在
对于读取器中的行:
文件“C:\Python27\lib\site packages\unicodesv\py2.py”,第217行,下一页
row=csv.DictReader.next(self)
文件“C:\Python27\lib\csv.py”,第108行,下一页
row=self.reader.next()
文件“C:\Python27\lib\site packages\unicodesv\py2.py”,第128行,下一页
对于第行中的值]
UnicodeDecodeError:“utf8”编解码器无法解码位置254中的字节0xe2:数据意外结束

有没有可能升级到Python 3?
csv
模块本机支持Unicode字符串。您将能够更加专注于实际工作。@lenz:您看到错误消息了吗?它来自utf8编解码器,这意味着这些代码已经尝试处理utf8输入并找到不同的内容。您的Python版本是什么?什么行触发了错误?@SergeBallesta:是的,我认为这可能是由于
csv
进行了错误的分段造成的(因为它不知道文本的编码)。不幸的是,我无法升级到Python 3,我使用的模块假设我使用的是Python 2。我用的是2.7。错误一定在数据本身,因为我可以通过fine运行较小的csv文件。这只是一个大数据集。我只是把它再检查一遍,它就行了。这似乎是csv的实际解码导致的错误。我在上面添加了fll错误。