【发布时间】:2015-10-26 03:10:06
【问题描述】:
在有人指出重复之前,这与this 不是同一个问题。
在那个问题中,他的错误是
ValueError: Some errors were detected !
Line #88 (got 1435 columns instead of 1434)
比预期多 1 列(可能某处有额外的分隔符)。
我正在处理一个文件,其中包含由制表符 ('\t') 分隔的两列,并且正在使用以下内容
movies = np.genfromtxt('imdb/movie_keywords', delimiter = '\t', dtype = None)
我收到以下错误
ValueError: Some errors were detected !
Line #44209 (got 1 columns instead of 2)
Line #44210 (got 1 columns instead of 2)
Line #44211 (got 1 columns instead of 2)
Line #93460 (got 1 columns instead of 2)
...
这是文件中的四行(原始文本),
前两个是第1行和第#行,不会抛出错误
'$ (1971)\tbank-heist'
'Angela (1954)\tamerican-car-salesman'
这些来自 #44209 #93463 行,它们会引发错误
'Animated (1989)\taustralian'
'Animated Motion #1 (1976)\tindependent-film'
可能会有一些侦探指出导致 numpy 不拿起错误抛出行中的选项卡的区别吗?
补充一下,如果使用 pandas 和此代码,我不会收到错误:
keywords = pd.read_csv('imdb/movie_keywords', delimiter = '\t', dtype = None, names = ['movie', 'keyword'])
但是,Pandas 不足以完成我希望进行的操作。
【问题讨论】:
-
如果
Animated (1989)\taustralian包含文字反斜杠后跟文字t而不是制表符,您可能会遇到此错误。 -
@unutbu 文件中的文本:“Animated (1989) australian”
-
genfromtxt报告行号,计数从 1 开始。Python 使用从 0 开始的索引。根据您定位第 44209 行的方式,可能会出现“逐一”错误。检查'Animated (1989)\taustralian'之前的行可能不会有什么坏处。 -
@unutbu 好主意,我考虑过这个。这就是我选择第 #93463 行的原因,因为第 #93460-#93465 行都返回错误。
-
你能把这些行的
repr贴出来吗?