[Python];分析器错误:指定的列太多
我只想读取一个简单的.csv文件,文件头指定列类型。 代码如下:[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
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
。没有?我的错,我在等一个数组。它应该输出尺寸。不过非常感谢!