pandas中哪个函数可以读取csv文件,pandas读取csv实例

  pandas中哪个函数可以读取csv文件,pandas读取csv实例

  本文翻译自:使用计算机编程语言在熊猫中读取战斗支援车文件时出现UnicodeDecodeError错误

  我正在运行一个程序,处理30,000个类似的文件。我正在运行一个程序,正在处理30,000个类似文件他们中的随机数字正在停止并产生这个错误.他们中有随机数正在停止并产生此错误.

  文件C:\ Importer \ src \ dfman \ Importer。py ,第26行,在import _ chr data=PD。read _ CSV(文件路径,名称=字段)文件c:\ python 33 \ lib \ site-packages \ pandas \ io \ parsers。py 中,第400行,在parser _ f return _read(文件路径或缓冲区,kwds)文件c:\ python 33 \ lib \ site-packages \ pandas \ io \ parsers。py 中,第205行,在_阅读中,返回parser . read()_ engine . read(nrows)文件c:\ python 33 \ lib \ site-packages \ pandas \ io \ parsers。py ,第1028行,在读取数据=自身中. reader.read(nrows)文件parser.pyx ,第706行,在熊猫。解析器。textreader(pandas \ parser。丙:6745)文件parser.pyx ,第728行,在熊猫。解析器。文本阅读器。_ read _ low _ memory(pandas \ parser。丙:6964)文件parser.pyx ,第804行,在熊猫。解析器。文本阅读器。_ read _ rows(pandas \ parser。c:7780)文件parser.pyx ,第890行这些文件的源/创建都来自同一位置要继续导入,最好的纠正方法是什么?纠正此错误以继续导入的最佳方法是什么?

  #1楼参考:https://栈oom。com/question/1 efiz/使用计算机编程语言在熊猫中读取战斗支援车文件时出现UnicodeDecodeError

  #2楼阅读_csv采用一种编码选项来处理不同格式的文件。阅读_csv采用编码选项来处理不同格式的文件我大多使用read_csv(文件,编码=ISO-8859-1 ),或者备选编码=utf-8 进行读取,一般utf-8用于to_csv .我主要使用read_csv(文件,编码=ISO-8859-1 ),或者编码=utf-8 进行读取,通常使用utf-8进行to_csv。

  您还可以使用几个别名选项中的一个,如“拉丁语”而不是“ISO-8859-1”(参见大蟒文档,也可以找到您可能遇到的许多其他编码)。您还可以使用多个别名选项之一,例如拉丁语而不是ISO-8859-1 (有关可能会遇到的许多其他编码,请参见大蟒文档).

  请参阅相关的熊猫文档、关于战斗支援车文件的大蟒文档示例以及因此上的大量相关问题。请参阅相关的熊猫文档,关于战斗支援车文件的大蟒文档示例以及有关因此的大量相关问题一个好的背景资源是每个开发人员都应该知道的关于采用双字节对字符进行编码和字符集的知识。一个好的背景资源是每个开发人员应了解的采用双字节对字符进行编码和字符集。

  要检测编码(假设文件包含非美国信息交换标准码字符),可以使用恩卡(参见手册页)或文件i (linux)或文件-I (osx)(参见手册页)。要检测编码(假设文件包含非美国信息交换标准代码字符),可以使用恩卡(请参见手册页)或文件我(Linux)或文件-I (osx)(请参见手册页)。

  #3楼Simplest of all Solutions:所有解决方案中最简单的:

  在崇高文本编辑器中打开战斗支援车文件。在崇高文本编辑器中打开战斗支援车文件以utf-8格式保存文件。以utf-8格式保存文件在崇高中,点击文件-用编码保存- UTF-8崇高地,单击文件-使用编码保存- UTF-8

  然后,您可以像往常一样阅读您的文件:然后,您可以照常读取文件:

  将熊猫导入为PD数据=PD。read _ CSV(文件名。CSV ,编码=utf-8)EDIT 1:编辑1:

  如果文件很多,那么可以跳过崇高这一步。如果文件很多,则可以跳过升华步骤。

  只需使用以下命令读取文件只需使用读取文件

  数据=PD。read _ CSV(文件名。CSV ,编码=utf-8 ),其他不同的编码类型有:其他不同的编码类型是:

  编码=cp1252 编码=ISO-8859-1#4楼纠结了一会儿,我想我应该在这个问题上发帖,因为这是第一个搜索结果。挣扎了一段时间,以为我会在这个问题上发布,因为它是第一个搜索结果给熊猫阅读_csv加编码=iso-8859-1 标签不行,其他编码也不行,一直给出一个UnicodeDecodeError错误.向熊猫阅读_csv添加编码=iso-8859-1 标签不起作用,其他任何编码也不起作用,并始终给出UnicodeDecodeError错误。

  如果您将文件句柄传递给pd.read_csv(),您需要将文件的编码属性设置为打开,而不是read_csv .如果要将文件句柄传递给pd.read_csv(),需要将编码属性放在打开的文件上,而不是在read_csv。事后看来显而易见,但这是一个需要追踪的细微错误。事后看来很明显,但要跟踪却有一个细微的错误。

  #5楼熊猫允许指定编码,但不允许忽略错误,不自动替换有问题的字节。熊猫允许指定编码,但不允许忽略错误以免自动替换有问题的字节因此,没有放之四海而皆准的方法,而是根据实际使用情况采用不同的方式。因此,没有一种适合所有方法的大小,而是取决于实际用例的不同方法。

  你知道编码,文件中没有编码错误。您知道编码,并且文件中没有编码错误太好了:您只需指定编码:太好了:您只需要指定编码即可:

  file_encoding=cp1252 #将文件编码设置为文件编码(utf8、latin1等. pd.read_csv(输入_文件_和_路径,编码=文件_编码)您不想被编码问题所困扰,只想加载那个该死的文件,不管某些文本字段是否包含垃圾。您不希望被编码问题困扰,无论某些文本字段是否包含垃圾内容,都只希望加载该死的文件好的,您只需要使用拉丁语1编码,因为它接受任何可能的字节作为输入(并将其转换为相同代码的采用双字节对字符进行编码字符):好的,您只需要使用拉丁语一编码,因为它接受任何可能的字节作为输入(并将其转换为相同代码的采用双字节对字符进行编码字符):

  pd.read_csv(输入文件和路径,encoding=latin1 )您知道文件的大部分是用特定的编码编写的,但它也包含编码错误。您知道大多数文件都是用特定的编码编写的,但是它也包含编码错误一个真实的例子是一个用非utf8编辑器编辑过的UTF8文件,它包含一些不同编码的行。一个真实的示例是一个UTF8文件,该文件已使用非utf8编辑器进行了编辑,并且其中包含一些使用不同编码的行熊猫没有规定一个特殊的错误处理,但是Python开放函数有(假设Python3),read_csv接受一个类似文件对象。熊猫没有提供特殊的错误处理措施,但是计算机编程语言开放函数具有(假设Python3),并且阅读_csv接受类似于目标的文件这里使用的典型错误参数是"忽略"或(我觉得更好一些)" backslashreplace ",前者只抑制有问题的字节,后者用计算机编程语言的反斜线转义序列替换有问题的字节:这里使用的典型错误参数是忽略,它仅抑制有问题的字节,或者(恕我直言更好)是反斜杠,其由其计算机编程语言的反斜杠转义序列代替了有问题的字节:

  file_encoding=utf8 #将文件编码设置为文件编码(utf8、latin1等. input _ FD=open(input _ file _ and _ path,encoding=file_encoding,errors= backlashreplace )PD。read _ CSV(输入_ FD,) #6楼将打开(文件名. csv )设为女:打印(女)执行此代码后,您将发现文件名. csv 的编码,然后执行如下代码执行此代码后,您将找到"文件名。csv "的编码,然后执行以下代码

  data=pd.read_csv(filename.csv ,encoding= encoding as you found again 这就对了你去

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: