2017-02-10 11 views
0

ファイルパスが正しくても生の文字列を使用してもエラーが発生した場合、pd.read_csv関数を使用して.csvファイルをロードしようとしています。ファイルB '\ XE2 \ X80 \ xaaC::/Users/user/Desktop/tutorial.csv'(または関連するパス)が存在しない 生のテキストの正しいパスにもかかわらず、pandas.read_csvファイルが見つかりません

df = pd.read_csv('‪C:\\Users\\user\\Desktop\\datafile.csv') 
df = pd.read_csv(r'‪C:\Users\user\Desktop\datafile.csv') 
df = pd.read_csv('C:/Users/user/Desktop/datafile.csv') 

すべて

FileNotFoundError以下のエラーが発生します。

ファイルを作業ディレクトリにコピーしたときにのみ、ロードされます。誰がエラーを引き起こしている可能性があることを知っていますか?以前は完全なファイルパスを持つ他のデータセットを問題なくロードしていましたが、Pythonを(Anacondaのパッケージインストーラを介して)再インストールしたので、現在は問題が発生しています。

編集: 問題の原因となった問題が見つかりました。ファイルのプロパティウィンドウからファイルパスをコピーしていたとき、私は無意識のうちに見えない別の文字をコピーしました。コピーした文字列を代入すると、Unicodeエラーも発生します。その目に見えない文字を削除すると、上記のコードが動作します。

+0

「e2 80aa」は、左から右の埋め込み記号であるU + 202AのUTF-8エンコードです。これがパス文字列に属していないことを確かめてください。文字列エンコーディングの問題があることを示唆しています。あなたがpy3( 'b'C:\\ ... '')にいる場合は、py27( 'u'C:\\ ...'')またはバイト文字列リテラルの場合はUnicode文字列リテラルを試してください。 – wildwilhelm

+0

パスからドライブを削除すると動作しますか( '/Users/user/Desktop/datafile.csv')? – cmaher

+0

「U + 202A」がどのようにそこに入ったのかよくわかりません。これはカット/ペーストされましたか?その場合は、手動で削除して再入力してください。あなたのシステムのデフォルト言語は何ですか?それが右から左に書かれているなら、これは面白い!私は文字がファイルシステムでフィルタリングされていないことに少し驚いています。 – tdelaney

答えて

0

ファイルパスを作成するためにos.path.joinを使用してみてください:

import os 
f_path = os.path.join(*['C:', 'Users', 'user', 'Desktop', 'datafile.csv']) 
df = pd.read_csv(f_path) 
+0

あなたの提案に従ってファイルパスを作成しようとしましたが、うまくいかなかった。 「FileNotFoundError:File b'C:Users \\ user \\ Desktop \\ tutorial.csv 'が存在しません」というエラーが表示されます。 cmaherの提案にしたがってドライブを取り外すことはできましたが、今後ドライブを宣言する必要がある場合はどうすればよいでしょうか? – Impuls3H

+0

あなたの問題をGoogleまたはSOで検索すると、解決策が見つかります – AlexG

+0

私が直面している問題を特定することができました。これは、ファイルパスを混乱させたファイルプロパティにあるファイルパスからコピーされた不可視の文字です。結局その目に見えないキャラクターを取り除くことができました。 – Impuls3H

-1

$ 10はあなたのファイルパスがの.pyファイルの場所に関しては正しいが、あなたのpython

を呼び出し元の場所に関して間違っていると言います

たとえば、script.pyが〜/ script /にあり、file.csvが〜/にあるとします。のは、〜/あなたがpython script/script.pyを実行してからの場合script.pyが

import pandas 
df = pandas.read_csv('../file.csv') # correct path from ~/script/ where script.py resides 

が含まれている、あなたはにFileNotFoundエラーが発生しますとしましょう。しかし、〜/ script /からpython script.pyを実行すると、動作します。

+1

私は$ 10が安全なように完全なファイルパスを使用していました!私はこの問題を引き起こしていた問題を発見しました!それはコピーされた目に見えない文字だった。小さな問題のためにパニックのように見える! – Impuls3H

+0

@ Impuls3H「見えない人物」はどういう意味ですか?末尾のスペース? – user1318135

6

これを試して、動作するかどうかを確認してください。これはあなたが提供するパスとは無関係です。

ここ
pd.read_csv(r'C:\Users\aiLab\Desktop\example.csv') 

rの特殊文字であり、キャリッジリターンを意味します。文字列リテラルに接頭辞を付けます。

+1

問題を解決するためにこれは何をしていますか?それは確かに私のためにそれを修正したが、私はなぜ理解していない。 – user1318135

0

私は次のことがばかげた間違いだと知っていますが、ファイルに問題がある可能性があります。

ファイルの名前を手動でadfa123からabc.csvに変更しました。名前の変更後、ファイルの拡張子は非表示になり、実際のファイル名はabc.csv.csvになりました。私はその後、名前から余分な.csvを削除して、すべてうまくいきました。

他の人を助けてくれることを願っています。

0
import pandas as pd 

path1 = 'C:\\Users\\Dell\\Desktop\\Data\\Train_SU63ISt.csv' 
path2 = 'C:\\Users\\Dell\\Desktop\\Data\\Test_0qrQsBZ.csv' 

df1 = pd.read_csv(path1) 
df2 = pd.read_csv(path2) 

print(df1) 
print(df2) 
関連する問題