簡體   English   中英

如何在 Jupyter Notebook 中加載 CSV 文件?

[英]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

這是代碼: 在此處輸入圖像描述

我按照有關此錯誤的在線教程進行操作,但沒有任何效果。 有誰知道如何修理它?

第三次嘗試使用 r"path" 在此處輸入圖像描述

我也嘗試過“\”和 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 xxxxxxxxCharacter with 32-bit hex value xxxxxxxx 因此,Python 嘗試查找 32 位十六進制值。 但是,由於Users-sersxxxxxxxx格式不匹配,您會收到錯誤消息:

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"是字符串foobar ,中間有一個換行符。 還有更多的逃脫。

在您的情況下,路徑中\的含義是字面意思,即您實際上希望字符串中出現反斜杠。

一種選擇是用另一個反斜杠轉義反斜杠本身: "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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM