【发布时间】:2021-01-05 10:15:11
【问题描述】:
ad
data = self._reader.read(nrows)
File "pandas\_libs\parsers.pyx", line 826, in pandas._libs.parsers.TextReader.read
File "pandas\_libs\parsers.pyx", line 841, in pandas._libs.parsers.TextReader._read_low_memory
File "pandas\_libs\parsers.pyx", line 920, in pandas._libs.parsers.TextReader._read_rows
File "pandas\_libs\parsers.pyx", line 1052, in pandas._libs.parsers.TextReader._convert_column_data
File "pandas\_libs\parsers.pyx", line 1083, in pandas._libs.parsers.TextReader._convert_tokens
File "pandas\_libs\parsers.pyx", line 1220, in pandas._libs.parsers.TextReader._convert_with_dtype
File "pandas\_libs\parsers.pyx", line 1238, in pandas._libs.parsers.TextReader._string_convert
File "pandas\_libs\parsers.pyx", line 1429, in pandas._libs.parsers._string_box_utf8
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 2: invalid start byte
我在阅读我的 CSV 文件时遇到了上述错误
为了解决这个问题,我使用了 unicode 转义:
csv_df=pd.read_csv(file_path,header=0,squeeze=True,dtype=str,keep_default_na=False,encoding='unicode_escape')
然而, 现在我得到 \xa0 两个单词之间的空格:
'ObjectStatus': 'IN\xa0SERVICE'
我的 CSV 有:
Key Values
RequestID
ObjectType CONTAINER
ObjectName INMUNVMBMHPBNB6001ENBCMW005
ObjectStatus IN SERVICE
ObjectType CONTAINER
【问题讨论】:
-
\xa0是一个 Unicode U+00A0 NO-BREAK SPACE。 Python 使用 Unicode 转义序列显示字符串,因此您可以看到它不是常规空格。如果您print的值,它将显示为一个空格。 -
其实这个字典是作为请求传递给zeep客户端对象的。它正在转换为问号字符**
标签: python pandas dataframe csv flask