[英]How to load CSV file in Jupyter Notebook?
我是新手,正在學習機器學習。 我偶然發現了一個在網上找到的教程,我想讓這個程序運行起來,這樣我就能更好地理解它。 但是,我在將 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
我按照有關此錯誤的在線教程進行操作,但沒有任何效果。 有誰知道如何修理它?
我也嘗試過“\”和 utf-8,但都沒有用。
我正在使用最新版本的 Anaconda Windows 7 Python 3.7
對 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)
將所有反斜杠
\\
替換為前斜杠/
或在文件路徑字符串之前放置一個r
以避免此錯誤。 這不是您的文件夾名稱太長的問題。
正如 Bohun Mielecki 所提到的,在 Windows 中通常用於表示文件結構的\\
字符在寫入字符串時具有不同的功能。
來自 Python3 文檔:反斜杠
\\
字符用於轉義具有特殊含義的字符,例如換行符、反斜杠本身或引號字符。
這如何特別影響你的陳述是在這一行
student_data = pd.read_csv("C:\Users\xxxx\Desktop\student-intervention-
system\student-data.csv")
\\Users
匹配轉義序列\\Uxxxxxxxx
,其中xxxxxxxx
是指Character with 32-bit hex value xxxxxxxx
的Character with 32-bit hex value xxxxxxxx
。 因此,Python 嘗試查找 32 位十六進制值。 但是,由於Users
的-sers
與xxxxxxxx
格式不匹配,您會收到錯誤消息:
SyntaxError: (unicode error) 'unicodeescape' 編解碼器無法解碼位置 2-3 的字節:截斷的 \\UXXXXXXXX 轉義
您的代碼現在起作用的原因是您在'C:\\Users\\xxxx\\Desktop\\project\\student-data.csv'
前面放置了一個r
。 這告訴 python 不要像通常那樣處理反斜杠字符/
並按原樣讀取整個字符串。
我希望這可以幫助您更好地了解您的問題。 如果您需要更多說明,請告訴我。
來源: Python 3 文檔
我有同樣的問題。 我嘗試用“Latin-1”對其進行編碼,它對我有用。
autos = pd.read_csv('filename',encoding = "Latin-1")
試試這個student_data = pd.read_csv("C:/Users/xxxx/Desktop/student-intervention- system/student-data.csv")
。
替換該代碼中的反斜杠它將為您工作。
您可能有一個帶反沖的文件名...嘗試使用兩個反沖而不是一個來編寫路徑。
student_data = pd.read_csv("C:\\Users\\xxxx\\Desktop\\student-intervention-system\\student-data.csv")
嘗試將 \\ 更改為 /:-
import pandas as pd
student_data = pd.read_csv("C:/Users/xxxx/Desktop/student-intervention-
system/student-data.csv")
print(student data)
或者
import pandas as pd
student_data = pd.read_csv("C:/Users/xxxx/Desktop/student-intervention- system/student-data.csv"r)
print(student data)
嘗試
pd.read_csv('file_name',encoding = "utf-8")
請打開記事本,將 csv 格式的數據寫入文件並選擇“另存為”以將文件保存為.csv
。 例如 Train.csv
使用此文件,確保在python編碼期間為上述保存的CSV文件正確提及相同的路徑。
Import pandas as pd
df=pd.read_csv('C:/your_path/Train.csv')
我見過人們使用現有的 .txt/其他格式文件通過重命名將他們的格式轉換為 .csv。 除了更改文件名之外,實際上什么都不做。 它根本不會變成 CSV 文件。 希望這可以幫助。 🙏🙏
通常,如果文件路徑中有任何空間,則會出現這種錯誤... df=pd.read_csv('/home/jovyan/binder/kidney disease.csv') 上面的命令將創建一個錯誤,並在它出現時得到解決df=pd.read_csv('/home/jovyan/binder/kidney_disease.csv') 用下划線替換空格
首先,這與 Jupyter無關。 這是一個純粹的 Python 問題!
在 Python 中,與大多數語言一樣,反斜杠是字符串中的特殊(轉義)字符,例如"foo\"bar"
是字符串foo"bar
而不會導致語法錯誤。 此外, "foo\nbar"
是字符串foo
和bar
,中間有一個換行符。 還有更多的逃脫。
在您的情況下,路徑中\
的含義是字面意思,即您實際上希望字符串中出現反斜杠。
一種選擇是用另一個反斜杠轉義反斜杠本身: "foo\\bar"
等於字符串foo\bar
。 但是,在您的情況下,您有其中的幾個,因此為了可讀性,您可能希望打開“原始字符串模式”,這會禁用(幾乎所有)轉義:
r"foo\bar\baz\quux\etc"
會產生
foo\bar\baz\quuz\etc
但是,作為編程風格的問題,如果您希望代碼可移植,最好使用os.path.join
,它知道適合您的操作系統/平台的正確路徑分隔符:
In [1]: import os.path
In [2]: os.path.join("foo", "bar", "baz")
Out[2]: 'foo/bar/baz'
在 Windows 上,會產生foo\bar\baz
。
import pandas as pd data=pd.read_csv("C:\\Users\\ss\\Desktop\\file or csv file name.csv") 只需將csv文件放在桌面上
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.