2017-12-08 3 views
0

単純な.csvファイルを読み込み、列の種類を指定するヘッダーが必要です。[Python];パーサーエラー:指定された列が多すぎます

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) 

OUT: は、次のコードである -

ParserError: Too many columns specified: expected 20 and found 2

PS:URLが公開され、問題が直接にはつながらないURLがある

+0

ダウンロードすることができるようになりDL = 1

、wdir = 'C:/ Python27') (504,20) –

+0

これはエラーではありません。それは単にあなたがそのファイルを実行していることを示しています – Adelin

+0

ええ、しかし、私は出力を得ていない、その理由。 –

答えて

0

アクセスすることができます.csvファイル。それはhtmlページ全体につながります。

あなたがnames引数

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

これが正常に実行さを除去することによって、それを見ることができますが、戻り値を検査する場合は、HTMLコードとJavaScriptのスクリプトが表示されます。あなたがする必要がどのような

は、あなたが入力として実際のcsvファイルを提供してくださいです(.csvファイルの別のソースを試してみてください)

+0

私はnumpyの.loadtxt関数を使用して直接ファイル名を指定することができますが、私はこれにPandasを使いたいと思います。 「pandas.read_csv関数を使って.csvファイルを読み込む方法」のための控えめな方法がありますか? –

+0

あなたはすでに適切な道を進んでいます。ちょうど 'url'変数を直接CSVファイルにつながるURLに変更してください。 'url =" https://www.dropbox.com/s/n6yt908tgetuq63/LasVegasTripAdvisorReviews-Dataset.csv?dl=1 "' – Adelin

0

DropboxのURLにちょうど https://www.dropbox.com/s/n6yt908tgetuq63/LasVegasTripAdvisorReviews-Dataset.csv次のように1と0を置き換えますか? RUNFILE( 'C:/Python27/Machinelearning.py' ファイルは、だから私は、DL = 1を設定したURLを使用しました、そして今、私はこのエラーを取得する直接

+0

私は既に.csvファイルを持っていますが、読みやすいパスを提供する方法はわかりません。そのため、ドロップボックスにドロップして、csvファイルにつながることを期待してURLを作成しましたが、明らかにAdelinが指摘したようにHTMLページ全体をリンクしています。 –

+0

その場合、あなたのcsvファイルの絶対パスを与える必要があります。 – chakri

+0

ファイルの場所を自分のPCに明示的にコピー&ペーストするだけですか? –

関連する問題