1

我只想阅读一个简单的 .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

PS:网址是公开的,可以访问

4

2 回答 2

1

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

names您可以通过删除参数来看到

pd.read_csv(url, header=0, delimiter=';', error_bad_lines=False)

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

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

于 2017-12-08T08:13:30.033 回答
1

在保管箱 url 中,只需将 0 替换为 1,如下所示 https://www.dropbox.com/s/n6yt908tgetuq63/LasVegasTripAdvisorReviews-Dataset.csvdl=1

这使得文件可以直接下载

于 2017-12-08T08:18:48.167 回答