[Python];分析器错误:指定的列太多

[Python];分析器错误:指定的列太多,python,machine-learning,pandas-datareader,Python,Machine Learning,Pandas Datareader,我只想读取一个简单的.csv文件,文件头指定列类型。 代码如下: import pandas as pd url="https://www.dropbox.com/s/n6yt908tgetuq63/LasVegasTripAdvisorReviews-Dataset.csv?dl=0" names=['User country','Nr. reviews','Nr. hotel reviews','Helpful votes','Score','Period of stay','Travel

我只想读取一个简单的.csv文件,文件头指定列类型。 代码如下:

import pandas as pd
url="https://www.dropbox.com/s/n6yt908tgetuq63/LasVegasTripAdvisorReviews-Dataset.csv?dl=0"
names=['User country','Nr. reviews','Nr. hotel reviews','Helpful 
votes','Score','Period of stay','Traveler Type','Pool','Gym','Tennis 
court','Spa','Casino','Free internet','Hotel name','Hotel stars','Nr. 
rooms','User continent','Member years','Review month','Review weekday']
data=pd.read_csv(url, names=names, header=0, delimiter=';', 
error_bad_lines=False)
print(data.shape)
输出:-

ParserError:指定的列太多:应为20列,但找到2列


注意:URL是公共的,可以访问。

问题是URL不会直接指向
.csv
文件。它将导致整个html页面

通过删除
names
参数可以看到这一点

pd.read\u csv(url,头=0,分隔符=“;”,错误\u bad\u lines=False)

这将成功执行,但在检查返回值时,您将看到html代码和JavaScript脚本


您需要做的是确保您提供了实际的csv作为输入(请为
.csv
文件尝试另一个源)

在dropbox url中,只需将0替换为1,如下所示 ?dl=1


这使得文件可以直接下载

我已经有了.csv文件,但不知道如何为它提供可读路径。这就是为什么我把它放在dropbox中创建一个URL,希望它能指向csv文件,但很明显,它像Adelin指出的那样链接了整个HTML页面。在这种情况下,你需要给出csv文件的绝对路径。就像在我的电脑上显式复制和粘贴文件位置一样?是的。如果是windows,请将路径分隔符设置为/或使用双斜杠(\)我可以使用numpy的.loadtxt函数并直接指定文件名,但我想使用Pandas。对于“如何使用pandas.read_csv函数读取.csv文件”,您是否有一个简洁的方法?您已经走上了正确的道路-只需将
url
变量更改为直接指向csv文件的url即可<代码>url=”https://www.dropbox.com/s/n6yt908tgetuq63/LasVegasTripAdvisorReviews-Dataset.csv?dl=1“所以我确实使用了URL设置dl=1,现在我得到了这个错误:runfile('C:/Python27/Machinelearning.py',wdir='C:/Python27')(504,20)。这不是一个错误。它只是表示您正在运行该文件是的,但我没有得到任何输出,这就是为什么。
(504,20)
数据的值。shape
。没有?我的错,我在等一个数组。它应该输出尺寸。不过非常感谢!