我正在尝试用panda读取csv文件。
这个文件实际上只有一行,但每当我试图读取它时,它都会导致错误
第8行似乎出了问题,但我几乎找不到第8行,因为上面显然只有一行。
我确实喜欢:
with codecs.open("path_to_file", "rU", "Shift-JIS", "ignore") as file:
df = pd.read_csv(file, header=None, sep="t")
df
然后我得到:
ParserError: Error tokenizing data. C error: Expected 1 fields in line 8, saw 3
我不知道到底发生了什么,所以你的任何建议都将不胜感激。
我为此挣扎了将近半天,我用记事本打开csv,注意到separate是TAB而不是逗号,然后尝试了belo组合。
df = pd.read_csv('C:\myfile.csv',sep='t', lineterminator='r')
尝试df = pd.read_csv(file, header=None, error_bad_lines=False)
现有的答案不会在数据帧中包括这些额外的行。如果你希望你的数据帧和它的最宽点一样宽,你可以使用以下方法:
delimiter = ','
max_columns = max(open(path_name, 'r'), key = lambda x: x.count(delimiter)).count(delimiter)
df = pd.read_csv(path_name, header = None, skiprows = 1, names = list(range(0,max_columns)))
将skiprows=1设置为如果实际上有一个标头,则以后可以始终检索标头列名。您还可以识别填充的列数超过原始标头中列名数的行。