web-dev-qa-db-ja.com

Jupyter NotebookにCSVファイルを読み込む方法は?

私は新しく、機械学習を勉強しています。オンラインで見つけたチュートリアルに遭遇しました。プログラムを機能させて理解を深めたいと思います。ただし、CSVファイルをJupyter Notebookにロードする際に問題が発生します。

私はこのエラーを受け取ります:

File "<ipython-input-2-70e07fb5b537>", line 2
    student_data = pd.read_csv("C:\Users\xxxx\Desktop\student-intervention- 
system\student-data.csv")
                          ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in 
position 2-3: truncated \UXXXXXXXX escape

そしてここにコードがあります: enter image description here

このエラーについてオンラインでチュートリアルをたどりましたが、どれもうまくいきませんでした。誰かがそれを修正する方法を知っていますか?

r "path"を使用した3回目の試行 enter image description here

「\」とutf-8も試しましたが、どれも機能しませんでした。

Anaconda Windows 7の最新バージョンを使用していますPython 3.7

3
stella

Windowsパスには生の文字列表記を使用します。 python '\'はpythonで意味があります。代わりに次のr "path"のような文字列を試してください:

student_data = pd.read_csv(r"C:\Users\xxxx\Desktop\student-intervention- system\student-data.csv")

それが機能しない場合は、次の方法を試してください。

import os

path = os.path.join('c:' + os.sep, 'Users', 'xxxx', 'Desktop', 'student-intervention-system', 'student-data.csv')
student_data = pd.read_csv(path)
3
Bohun Mielecki

このエラーを回避するには、すべてのバックスラッシュ\をフロントスラッシュ/に置き換えるか、ファイルパス文字列の前にrを配置します。 フォルダ名が長すぎても問題ありません。


Bohun Mieleckiが述べたように、Windowsでファイル構造を示すために通常使用される\文字は、文字列内に書き込まれたときに異なる機能を持ちます。

Python3のドキュメントより:バックスラッシュ\文字は、改行、バックスラッシュ自体、または引用文字。

これがステートメントに特に影響する方法は、次のとおりです。

student_data = pd.read_csv("C:\Users\xxxx\Desktop\student-intervention- 
system\student-data.csv")

\Usersは、エスケープシーケンス\Uxxxxxxxxに一致します。これにより、xxxxxxxxCharacter with 32-bit hex value xxxxxxxxを参照します。このため、Pythonは32ビットの16進値を見つけようとします。ただし、Users-sersxxxxxxxxと一致しないため形式では、エラーが発生します:

SyntaxError:(unicode error) 'unicodeescape' codec ca n't cannot bytes in position 2-3:truncated\UXXXXXXXX escape


コードが機能する理由は、'C:\Users\xxxx\Desktop\project\student-data.csv'の前にrを配置したためです。これは、pythonに通常のようにバックスラッシュ文字/を処理せず、文字列全体をそのまま読み取るように指示します。

これが問題の理解に役立つことを願っています。さらに説明が必要な場合は、お知らせください。

出典: Python 3 Documentation

2
MoltenMuffins

問題が見つかりました。問題は私のフォルダー名が本当に長いことです。フォルダー名を「プロジェクト」に変更し、ようやくデータが読み込まれるようになりました!ばか!

enter image description here

0
stella

これを試してくださいstudent_data = pd.read_csv("C:/Users/xxxx/Desktop/student-intervention- system/student-data.csv")

そのコードのバックスラッシュを置き換えるとうまくいきます。

0
Qasim ali shah

試す

pd.read_csv('file_name',encoding = "utf-8")
0
balderman