当前位置: 首页 > 知识库问答 >
问题:

读取CSV文件时Python中出错

朱祺
2023-03-14

我试图读取CSV文件,但它抛出了一个错误。我无法理解我的语法有什么问题,或者我是否需要向我的read_csv添加更多属性。

我试了一下这个解决办法

UnicodeDecodeError:“utf-8”编解码器无法解码位置21中的字节0x96:起始字节也无效。但它不起作用

import pandas as pd


#Assign file_path variable
file_path = 'rawdump_24th_Sep.csv'

#assign dataframe
df1 = pd.read_csv(file_path,index_col=0)

df.head()

[错误]

UnicodeDecodeError回溯(最近一次调用)pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器。文本阅读器_转换_代币()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_convert_with_dtype()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_string_convert()

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器_字符串\u框\u utf8()

UnicodeDecodeError:“utf-8”编解码器无法解码位置21中的字节0x96:无效的开始字节

在处理上述异常时,发生了另一个异常:

UnicodeDecodeError Traceback(最近的调用最后)在6 7#分配数据帧----

~\Anaconda3\lib\site packages\pandas\io\parsers。语法分析器中的py\u f(文件路径或缓冲区、sep、分隔符、标题、名称、索引列、usecols、挤压、前缀、重复、数据类型、引擎、转换器、真值、假值、skipinitialspace、SkipRous、skipfooter、nrows、na值、保留默认值、na过滤器、冗余、跳过空白行、解析日期、推断日期时间格式、保留日期列、日期分析器、dayfirst、i畸胎体、块大小、压缩、千、十进制、行终止符、引号、双引号、转义码、注释、编码、方言、元组、错误行、警告行、删除行、空白、内存不足、内存映射、浮点精度)700跳过空白行=跳过空白行)701--

~\Anaconda3\lib\site packages\pandas\io\parsers。py in_read(文件路径_或缓冲区,kwds)433 434尝试:--

~\Anaconda3\lib\site-包\熊猫\io\parsers.py读取(自,nrows)1137 def读取(自,nrows=无): 1138 nrows=_validate_integer('nrows',nrows)-

~\Anaconda3\lib\site packages\pandas\io\parsers。py in read(self,nrows)1993 def read(self,nrows=None):1994 try:-

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器。文本阅读器。读()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_read_low_memory()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_read_rows()

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器。文本阅读器_转换列数据()

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器。文本阅读器_转换_代币()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_convert_with_dtype()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_string_convert()

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器_字符串\u框\u utf8()

UnicodeDecodeError:“utf-8”编解码器无法解码位置21中的字节0x96:无效的开始字节`

更新

import pandas as pd


#Assign file_path variable
file_path = 'rawdump_24th_Sep.csv'

#assign dataframe
df1 = pd.read_csv(file_path,index_col=0)

df1.head()

UnicodeDecodeError回溯(最近一次调用)pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器。文本阅读器_转换_代币()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_convert_with_dtype()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_string_convert()

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器_字符串\u框\u utf8()

UnicodeDecodeError:“utf-8”编解码器无法解码位置21中的字节0x96:无效的开始字节

在处理上述异常时,发生了另一个异常:

UnicodeDecodeError Traceback(最近的调用最后)在6 7#分配数据帧----

~\Anaconda3\lib\site packages\pandas\io\parsers。语法分析器中的py\u f(文件路径或缓冲区、sep、分隔符、标题、名称、索引列、usecols、挤压、前缀、重复、数据类型、引擎、转换器、真值、假值、skipinitialspace、SkipRous、skipfooter、nrows、na值、保留默认值、na过滤器、冗余、跳过空白行、解析日期、推断日期时间格式、保留日期列、日期分析器、dayfirst、i畸胎体、块大小、压缩、千、十进制、行终止符、引号、双引号、转义码、注释、编码、方言、元组、错误行、警告行、删除行、空白、内存不足、内存映射、浮点精度)700跳过空白行=跳过空白行)701--

~\Anaconda3\lib\site packages\pandas\io\parsers。py in_read(文件路径_或缓冲区,kwds)433 434尝试:--

~\Anaconda3\lib\site-包\熊猫\io\parsers.py读取(自,nrows)1137 def读取(自,nrows=无): 1138 nrows=_validate_integer('nrows',nrows)-

~\Anaconda3\lib\site packages\pandas\io\parsers。py in read(self,nrows)1993 def read(self,nrows=None):1994 try:-

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器。文本阅读器。读()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_read_low_memory()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_read_rows()

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器。文本阅读器_转换列数据()

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器。文本阅读器_转换_代币()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_convert_with_dtype()

熊猫/_libs/parsers.pyx。_libs.parsers.文本阅读器。_string_convert()

pandas/_libs/解析器。大熊猫中的pyx_图书馆。解析器_字符串\u框\u utf8()

UnicodeDecodeError:“utf-8”编解码器无法解码位置21中的字节0x96:无效的开始字节

共有2个答案

莫骞仕
2023-03-14

如果您的csv文件不适合,则可能会出现此错误。您应该尝试另一个数据集。

穆嘉
2023-03-14

“rawdump_24th_Sep.csv”应位于同一文件夹中。py文件已保存

import pandas as pd
df1 = pd.read_csv('rawdump_24th_Sep.csv')
df1
 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : Python中的Windows路径 (5个答案) 4年前关闭。 追溯(最近一次通话): 产品中的文件“”,第1行= pd.read_csv(’C:\ amazon_baby.csv’) 在parser_f中的第562行的文件“ C:\ Users \ kvsn \ Anaconda3 \ lib \ site-packages \ pandas \ io

  • 问题内容: 我正在运行一个程序,正在处理30,000个类似文件。他们中有随机数正在停止并产生此错误… 这些文件的源/创建都来自同一位置。纠正此错误以继续导入的最佳方法是什么? 问题答案: 可以选择处理不同格式的文件。我主要使用,或者替代地阅读,并且通常用于。 您还可以使用而不是的多个选项(请参阅python docs,也可能会遇到许多其他编码)。 请参阅相关的文档, 有关文件的文档示例以及有关SO

  • 我有一个CSV文件,其中有几列包含整数和一个字符串。很自然,由于混合的数据类型,我会得到一个数据类型警告。我用这个通用命令读取文件。 我可以使用或来静音警告,但据我所知,这使得读取我的文件不会更有效地使用内存。 我也可以使用但我有其他缺失值(应该是真正的缺失值),并且不想混合它们。 我不需要字符串的值,只需要它的值计数,所以我想用一个整数代替它。类似这样的。 但是,在读取CSV文件时,是否也可以替

  • 我正在运行一个程序,可以处理30000个类似的文件。他们中的一些人正在停止并产生这个错误...

  • > 我运行spark shell,如下所示: spark-shell--jars.\spark-csv2.11-1.4.0.jar;.\commons-csv-1.2.jar(我不能直接下载这些依赖项,这就是我使用--jars的原因) 使用以下命令读取csv文件: 在执行第一个建议的解决方案后:

  • 问题内容: 我有一个CSV文件,下面是其外观示例: 我知道如何读取文件并打印每列(例如- )。但是我真正想做的是读取行,就像这样,然后依此类推。 然后,我想将这些数字存储到变量中,以便稍后将它们总计(例如): 。那我可以做。 我将如何在Python 3中做到这一点? 问题答案: 您可以执行以下操作: 要么 : 编辑: