GVKun编程网logo

UnicodeDecodeError:'utf-8'编解码器在读取熊猫中的csv文件时无法解码位置1的字节0x8b:无效的起始字节

20

本文将分享UnicodeDecodeError:'utf-8'编解码器在读取熊猫中的csv文件时无法解码位置1的字节0x8b:无效的起始字节的详细内容,此外,我们还将为大家带来关于'utf-8'编解码

本文将分享UnicodeDecodeError:'utf-8'编解码器在读取熊猫中的csv文件时无法解码位置1的字节0x8b:无效的起始字节的详细内容,此外,我们还将为大家带来关于'utf-8'编解码器无法解码位置4276中的字节0xa0:无效的起始字节、json.dump-UnicodeDecodeError:'utf8'编解码器无法解码位置0的字节0xbf:无效的起始字节、PIL'utf-8'编解码器无法解码位置0的字节0x89:无效的起始字节、pip install和UnicodeDecodeError:'utf-8'编解码器无法解码位置9的字节0xe0:无效的连续字节的相关知识,希望对你有所帮助。

本文目录一览:

UnicodeDecodeError:'utf-8'编解码器在读取熊猫中的csv文件时无法解码位置1的字节0x8b:无效的起始字节

UnicodeDecodeError:'utf-8'编解码器在读取熊猫中的csv文件时无法解码位置1的字节0x8b:无效的起始字节

如何解决UnicodeDecodeError:''utf-8''编解码器在读取熊猫中的csv文件时无法解码位置1的字节0x8b:无效的起始字节?

仍然最有可能压缩数据。gzip的魔数是0x1f 0x8b,与UnicodeDecodeError您得到的一致。

您可以尝试动态解压缩数据:

with open(''destinations.csv'', ''rb'') as fd:
    gzip_fd = gzip.GzipFile(fileobj=fd)
    destinations = pd.read_csv(gzip_fd)

解决方法

我知道已经问过类似的问题,我已经看过所有问题并且尝试过,但几乎没有帮助。我正在使用OSX 10.11 El
Capitan,python3.6。,虚拟环境,也尝试不使用它。我正在使用jupyter笔记本和spyder3。

我是python的新手,但是了解基本的ML,并在一篇博文中学习了如何解决Kaggle的挑战:链接到Blog,链接到数据集

我被困在代码的前几行

import pandas as pd

destinations = pd.read_csv("destinations.csv")
test = pd.read_csv("test.csv")
train = pd.read_csv("train.csv")

这给了我错误

UnicodeDecodeError                        Traceback (most recent call last)
<ipython-input-19-a928a98eb1ff> in <module>()
      1 import pandas as pd
----> 2 df = pd.read_csv(''destinations.csv'',compression=''infer'',date_parser=True,usecols=([0,1,3]))
      3 df.head()

/usr/local/lib/python3.6/site-packages/pandas/io/parsers.py in parser_f(filepath_or_buffer,sep,delimiter,header,names,index_col,usecols,squeeze,prefix,mangle_dupe_cols,dtype,engine,converters,true_values,false_values,skipinitialspace,skiprows,nrows,na_values,keep_default_na,na_filter,verbose,skip_blank_lines,parse_dates,infer_datetime_format,keep_date_col,date_parser,dayfirst,iterator,chunksize,compression,thousands,decimal,lineterminator,quotechar,quoting,escapechar,comment,encoding,dialect,tupleize_cols,error_bad_lines,warn_bad_lines,skipfooter,skip_footer,doublequote,delim_whitespace,as_recarray,compact_ints,use_unsigned,low_memory,buffer_lines,memory_map,float_precision)
    653                     skip_blank_lines=skip_blank_lines)
    654 
--> 655         return _read(filepath_or_buffer,kwds)
    656 
    657     parser_f.__name__ = name

/usr/local/lib/python3.6/site-packages/pandas/io/parsers.py in _read(filepath_or_buffer,kwds)
    403 
    404     # Create the parser.
--> 405     parser = TextFileReader(filepath_or_buffer,**kwds)
    406 
    407     if chunksize or iterator:

/usr/local/lib/python3.6/site-packages/pandas/io/parsers.py in __init__(self,f,**kwds)
    762             self.options[''has_index_names''] = kwds[''has_index_names'']
    763 
--> 764         self._make_engine(self.engine)
    765 
    766     def close(self):

/usr/local/lib/python3.6/site-packages/pandas/io/parsers.py in _make_engine(self,engine)
    983     def _make_engine(self,engine=''c''):
    984         if engine == ''c'':
--> 985             self._engine = CParserWrapper(self.f,**self.options)
    986         else:
    987             if engine == ''python'':

/usr/local/lib/python3.6/site-packages/pandas/io/parsers.py in __init__(self,src,**kwds)
   1603         kwds[''allow_leading_cols''] = self.index_col is not False
   1604 
-> 1605         self._reader = parsers.TextReader(src,**kwds)
   1606 
   1607         # XXX

pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.__cinit__ (pandas/_libs/parsers.c:6175)()

pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._get_header (pandas/_libs/parsers.c:9691)()

UnicodeDecodeError: ''utf-8'' codec can''t decode byte 0x8b in position 1: invalid start byte

关于stakoverflow的一些答案表明这是因为它已压缩,但Chrome下载了.csv文件,而.csv.gz却无处可见,并且找不到返回的文件错误。

然后encoding=''latin1'',我在某个地方阅读了要使用的内容,但是这样做之后,我得到了解析器错误:

---------------------------------------------------------------------------
ParserError                               Traceback (most recent call last)
<ipython-input-21-f9c451f864a2> in <module>()
      1 import pandas as pd
      2 
----> 3 destinations = pd.read_csv("destinations.csv",encoding=''latin1'')
      4 test = pd.read_csv("test.csv")
      5 train = pd.read_csv("train.csv")

/usr/local/lib/python3.6/site-packages/pandas/io/parsers.py in parser_f(filepath_or_buffer,kwds)
    409 
    410     try:
--> 411         data = parser.read(nrows)
    412     finally:
    413         parser.close()

/usr/local/lib/python3.6/site-packages/pandas/io/parsers.py in read(self,nrows)
   1003                 raise ValueError(''skipfooter not supported for iteration'')
   1004 
-> 1005         ret = self._engine.read(nrows)
   1006 
   1007         if self.options.get(''as_recarray''):

/usr/local/lib/python3.6/site-packages/pandas/io/parsers.py in read(self,nrows)
   1746     def read(self,nrows=None):
   1747         try:
-> 1748             data = self._reader.read(nrows)
   1749         except StopIteration:
   1750             if self._first_chunk:

pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.read (pandas/_libs/parsers.c:10862)()

pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_low_memory (pandas/_libs/parsers.c:11138)()

pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_rows (pandas/_libs/parsers.c:11884)()

pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._tokenize_rows (pandas/_libs/parsers.c:11755)()

pandas/_libs/parsers.pyx in pandas._libs.parsers.raise_parser_error (pandas/_libs/parsers.c:28765)()

ParserError: Error tokenizing data. C error: Expected 2 fields in line 11,saw 3

我花了几个小时来调试它,试图在Atom上打开CSV文件(没有其他应用程序可以打开它),在线Web应用程序(有些崩溃了),但是没有帮助。我尝试使用已经解决了其他问题的人的内核问题,但没有帮助。

'utf-8'编解码器无法解码位置4276中的字节0xa0:无效的起始字节

'utf-8'编解码器无法解码位置4276中的字节0xa0:无效的起始字节

如何解决''utf-8''编解码器无法解码位置4276中的字节0xa0:无效的起始字节?

该文件中的编码为“ windows-1252”。采用:

open(''txt.tsv'', encoding=''windows-1252'')

解决方法

我尝试读取并打印以下文件:txt.tsv(https://www.sec.gov/files/dera/data/financial-statement-
and-notes-data-
sets/2017q3_notes.zip)

根据SEC,数据集以单一编码提供,如下所示:

制表符分隔值(.txt):utf-8,制表符分隔,\ n终止的行,第一行包含小写的字段名称。

我当前的代码:

import csv

with open(''txt.tsv'') as tsvfile:
    reader = csv.DictReader(tsvfile,dialect=''excel-tab'')
    for row in reader:
        print(row)

所有尝试以以下错误消息结束:

‘utf-8’编解码器无法解码位置4276中的字节0xa0:无效的起始字节

我有点迷茫。谁能帮我?提前谢谢了。

json.dump-UnicodeDecodeError:'utf8'编解码器无法解码位置0的字节0xbf:无效的起始字节

json.dump-UnicodeDecodeError:'utf8'编解码器无法解码位置0的字节0xbf:无效的起始字节

如何解决json.dump-UnicodeDecodeError:''utf8''编解码器无法解码位置0的字节0xbf:无效的起始字节?

例外是由您的data字典内容引起的,其中至少 一个 键或值 未采用 UTF-8编码。

您将不得不替换该值;通过替换 UTF-8编码的值,或通过使用unicode对该值的正确编码进行的任何编码来对该值进行解码,从而将其解码为对象:

data[''142''] = data[''142''].decode(''latin-1'')

将该字符串解码为Latin-1编码值。

解决方法

我有一本data存储的字典:

  • key -事件ID

  • value-此事件的名称,其中value是UTF-8字符串

现在,我想将此映射记下为json文件。我尝试了这个:

with open(''events_map.json'',''w'') as out_file:
    json.dump(data,out_file,indent = 4)

但这给了我错误:

UnicodeDecodeError:’utf8’编解码器无法解码位置0的字节0xbf:无效的起始字节

现在,我还尝试了:

with io.open(''events_map.json'',''w'',encoding=''utf-8'') as out_file:
   out_file.write(unicode(json.dumps(data,encoding="utf-8")))

但这会引发相同的错误:

UnicodeDecodeError:’utf8’编解码器无法解码位置0的字节0xbf:无效的起始字节

我也尝试过:

with io.open(''events_map.json'',encoding=''utf-8'') as out_file:
    out_file.write(unicode(json.dumps(data,encoding="utf-8",ensure_ascii=False)))

但这会引发错误:

UnicodeDecodeError:’ascii’编解码器无法解码位置3114的字节0xbf:序数不在范围内(128)

关于如何解决此问题的任何建议?

编辑: 我相信这是导致我问题的行:

> data[''142'']
''\xbf/ANCT25''

编辑2:data变量被从文件中读取。因此,从文件中读取它之后:

data_file_lines = io.open(file_name,''r'',encoding=''utf8'').readlines()

然后我做:

with io.open(''data/events_map.json'',encoding=''utf8'') as json_file:
        json.dump(data,json_file,ensure_ascii=False)

这给了我错误:

TypeError:必须是unicode,而不是str

然后,我尝试使用数据字典来做到这一点:

for tuple in sorted_tuples (the `data` variable is initialized by a tuple):
    data[str(tuple[1])] = json.dumps(tuple[0],ensure_ascii=False,encoding=''utf8'')

同样,其后是:

with io.open(''data/events_map.json'',encoding=''utf8'') as json_file:
    json.dump(data,ensure_ascii=False)

但是同样,同样的错误:

TypeError: must be unicode,not str

当我使用简单的open功能从文件中读取时,出现相同的错误:

data_file_lines = open(file_name,"r").readlines()

PIL'utf-8'编解码器无法解码位置0的字节0x89:无效的起始字节

PIL'utf-8'编解码器无法解码位置0的字节0x89:无效的起始字节

如何解决PIL''utf-8''编解码器无法解码位置0的字节0x89:无效的起始字节?

我正在互相粘贴两个图像以用作我的机器人的discord文件,但是每当我尝试将完成的图像数据从PIL和BytesIO馈送到discord时,我都会收到一个奇怪的错误:UnicodeDecodeError :''utf-8''编解码器无法解码位置0的字节0x89:无效的起始字节

这是我的代码(或相关的块):

async with aiohttp.ClientSession() as session:
    async with session.get(avurl) as second_image:
        image_bytes = await second_image.read()

with Image.open(BytesIO(image_bytes)).convert("RGB") as first_image:
    output_buffer = BytesIO()
    first_image.save(output_buffer,"png")
    output_buffer.seek(0)

async with aiohttp.ClientSession() as session:
    async with session.get("https://i.imgur.com/dNS0WJO.png") as second_image:
        image_bytes = await second_image.read()

with Image.open(BytesIO(image_bytes)) as second_image:
    output_buffer = BytesIO()
    second_image.save(output_buffer,"png")
    output_buffer.seek(0)

first_image.paste(second_image,(0,0))
buf = io.BytesIO()
first_image.save(buf,"png")
first_image = first_image.getvalue()
buf = buf.getvalue()
file = discord.File(fp=buf,filename="pfp.png")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

pip install和UnicodeDecodeError:'utf-8'编解码器无法解码位置9的字节0xe0:无效的连续字节

pip install和UnicodeDecodeError:'utf-8'编解码器无法解码位置9的字节0xe0:无效的连续字节

尝试安装:

pip install python-binance

结果:

Exception:Traceback (most recent call last):  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\compat\__init__.py", line 73, in console_to_str    return s.decode(sys.__stdout__.encoding)UnicodeDecodeError: ''utf-8'' codec can''t decode byte 0xe0 in position 9: invalid continuation byteDuring handling of the above exception, another exception occurred:Traceback (most recent call last):  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\basecommand.py", line 215, in main    status = self.run(options, args)  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\commands\install.py", line 324, in run    requirement_set.prepare_files(finder)  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files    ignore_dependencies=self.ignore_dependencies))  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_set.py", line 634, in _prepare_file    abstract_dist.prep_for_dist()  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_set.py", line 129, in prep_for_dist    self.req_to_install.run_egg_info()  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\req\req_install.py", line 439, in run_egg_info    command_desc=''python setup.py egg_info'')  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\utils\__init__.py", line 676, in call_subprocess    line = console_to_str(proc.stdout.readline())  File "c:\users\анна\appdata\local\programs\python\python36\lib\site-packages\pip\compat\__init__.py", line 75, in console_to_str    return s.decode(''utf_8'')UnicodeDecodeError: ''utf-8'' codec can''t decode byte 0xe0 in position 9: invalid continuation byte

怎么解决?

答案1

小编典典

好的…

  1. 由于错误在我的文件中:

c:\ users \анна\ appdata \ local \ programs \ python \ python36 \ lib \
site-packages \ pip \ compat__init __。py

问题文件夹为“ анна ”,即 cp1251

  1. 第一个解决方案是找到如何重命名用户的文件夹。(除了重新安装操作系统外)。到带有拉丁字母的文件夹

  2. 文件 compat__init__.py中 的第二个路径-替换

return s.decode(sys.__stdout__.encoding)

  1. 进入

return s.decode(''cp1251'')

当然,您需要知道所使用的编码。对我来说是 cp1251 ,对您来说可以是 拉丁语 (例如)。替换文件后-一切都安装成功!

谢谢2考伯特

今天关于UnicodeDecodeError:'utf-8'编解码器在读取熊猫中的csv文件时无法解码位置1的字节0x8b:无效的起始字节的介绍到此结束,谢谢您的阅读,有关'utf-8'编解码器无法解码位置4276中的字节0xa0:无效的起始字节、json.dump-UnicodeDecodeError:'utf8'编解码器无法解码位置0的字节0xbf:无效的起始字节、PIL'utf-8'编解码器无法解码位置0的字节0x89:无效的起始字节、pip install和UnicodeDecodeError:'utf-8'编解码器无法解码位置9的字节0xe0:无效的连续字节等更多相关知识的信息可以在本站进行查询。

本文标签: