我试图使用熊猫操作.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模块还是其他语言?
文件来自晨星公司
当前回答
虽然这个问题并非如此,但压缩数据也可能出现此错误。显式地设置kwarg压缩值解决了我的问题。
result = pandas.read_csv(data_source, compression='gzip')
其他回答
我相信解决方案,
,engine='python'
, error_bad_lines = False
如果它是虚拟列并且你想要删除它,这将是很好的。 在我的例子中,第二行确实有更多的列,我希望这些列被积分,并且有列数= MAX(列)。
请参考下面我无法阅读的解决方案:
try:
df_data = pd.read_csv(PATH, header = bl_header, sep = str_sep)
except pd.errors.ParserError as err:
str_find = 'saw '
int_position = int(str(err).find(str_find)) + len(str_find)
str_nbCol = str(err)[int_position:]
l_col = range(int(str_nbCol))
df_data = pd.read_csv(PATH, header = bl_header, sep = str_sep, names = l_col)
试题:熊猫。read_csv(path, sep = ',',header=None)
你也可以试试;
data = pd.read_csv('file1.csv', on_bad_lines='skip')
请注意,这将导致有问题的行被跳过。
Edit
对于熊猫< 1.3.0尝试
data = pd.read_csv("file1.csv", error_bad_lines=False)
根据熊猫API参考。
有时单元格中有一个逗号“,”。因此,熊猫不能读它。 尝试使用“;”分隔符
df = pd.read_csv(r'yourpath', delimiter=";")
这就是我所做的。
Sep ='::'解决了我的问题:
data=pd.read_csv('C:\\Users\\HP\\Downloads\\NPL ASSINGMENT 2 imdb_labelled\\imdb_labelled.txt',engine='python',header=None,sep='::')