我试图使用熊猫操作.csv文件,但我得到这个错误:
pandas.parser.CParserError:标记数据错误。C错误:第3行有2个字段,见12
我试着读过熊猫的文件,但一无所获。
我的代码很简单:
path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)
我该如何解决这个问题?我应该使用csv模块还是其他语言?
文件来自晨星公司
我试图使用熊猫操作.csv文件,但我得到这个错误:
pandas.parser.CParserError:标记数据错误。C错误:第3行有2个字段,见12
我试着读过熊猫的文件,但一无所获。
我的代码很简单:
path = 'GOOG Key Ratios.csv'
#print(open(path).read())
data = pd.read_csv(path)
我该如何解决这个问题?我应该使用csv模块还是其他语言?
文件来自晨星公司
当前回答
你可以使用:
pd.read_csv("mycsv.csv", delimiter=";")
熊猫1.4.4
它可以是文件的分隔符,将其作为文本文件打开,查找分隔符。然后,您将拥有可以为空且未命名的列,因为行包含太多分隔符。
因此,您可以使用pandas来处理它们并检查值。对我来说,这比在我的情况下跳过台词要好。
其他回答
你可以使用:
pd.read_csv("mycsv.csv", delimiter=";")
熊猫1.4.4
它可以是文件的分隔符,将其作为文本文件打开,查找分隔符。然后,您将拥有可以为空且未命名的列,因为行包含太多分隔符。
因此,您可以使用pandas来处理它们并检查值。对我来说,这比在我的情况下跳过台词要好。
我使用的数据集有很多引号(")使用无关的格式。我能够通过包含read_csv()的这个参数来修复这个错误:
quoting=3 # 3 correlates to csv.QUOTE_NONE for pandas
对于这个问题,我遇到了多种解决方案。很多人也给出了最好的解释。但对于初学者来说,我认为以下两种方法就足够了:
import pandas as pd
#Method 1
data = pd.read_csv('file1.csv', error_bad_lines=False)
#Note that this will cause the offending lines to be skipped.
#Method 2 using sep
data = pd.read_csv('file1.csv', sep='\t')
解析器被文件头弄糊涂了。它读取第一行并从该行推断列数。但是前两行并不能代表文件中的实际数据。
用data = pd试试。read_csv(路径,skiprows = 2)
我有一个类似的情况
train = pd.read_csv('input.csv' , encoding='latin1',engine='python')
工作