'How to load CSV file in Jupyter Notebook?

I'm new and studying machine learning. I stumble upon a tutorial I found online and I'd like to make the program work so I'll get a better understanding. However, I'm getting problems about loading the CSV File into the Jupyter Notebook.

I get this error:

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

and here is the code: enter image description here

I followed tutorials online regarding this error but none worked. Does anyone know how to fix it?

3rd attempt with r"path" enter image description here

I've tried also "\" and utf-8 but none worked.

I'm using the latest version of Anaconda Windows 7 Python 3.7



Solution 1:[1]

Use raw string notation for your Windows path. In python '\' have meaning in python. Try instead do string like this r"path":

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

If it doesnt work try this way:

import os

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

Solution 2:[2]

Either replace all backslashes \ with frontslashes / or place a r before your filepath string to avoid this error. It is not a matter of your folder name being too long.


As Bohun Mielecki mentioned, the \ character which is typically used to denote file structure in Windows has a different function when written within a string.

From Python3 Documentation: The backslash \ character is used to escape characters that otherwise have a special meaning, such as newline, backslash itself, or the quote character.

How this particularly affects your statement is that in the line

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

\Users matches the escape sequence \Uxxxxxxxx whereby xxxxxxxx refers to a Character with 32-bit hex value xxxxxxxx. Because of this, Python tries to find a 32-bit hex value. However as the -sers from Users doesn't match the xxxxxxxx format, you get the error:

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


The reason why your code works now is that you have placed a r in front of 'C:\Users\xxxx\Desktop\project\student-data.csv'. This tells python not to process the backslash character / as it usually does and read the whole string as-is.

I hope this helps you better understand your problem. If you need any more clarification, do let me know.

Source: Python 3 Documentation

Solution 3:[3]

I had the same problem. I tried to encode it with 'Latin-1' and it worked for me.

    autos = pd.read_csv('filename',encoding = "Latin-1")

Solution 4:[4]

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

Replacing backslashes in that code it will work for you.

Solution 5:[5]

You probably have a file name with a backlash... try to write the path using two backlashes instead of one.

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

Solution 6:[6]

Try changing \ to /: -

import pandas as pd
student_data = pd.read_csv("C:/Users/xxxx/Desktop/student-intervention- 
system/student-data.csv")
print(student data)

OR

import pandas as pd

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

print(student data)

Solution 7:[7]

Try

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

Solution 8:[8]

I found the problem. The problem is my folder name that is really long. I changed my folder name into "project" and the data is now finally loaded! Silly!

enter image description here

Solution 9:[9]

Please open notepad, write csv format data into the file and opt 'Save As' to save the file with format .csv. E.g. Train.csv

Use this file, ensure you mention the same path correctly for the above saved CSV file during python coding.

Import pandas as pd
df=pd.read_csv('C:/your_path/Train.csv')

I've seen people using existing .txt/other format files to covert their format to .csv by just renaming. Which actually does nothing than changing the name of the file. It doesn't become a CSV file at all. Hope this helps. ??

Solution 10:[10]

Generally this kind of error arises if there is any space in file path... df=pd.read_csv('/home/jovyan/binder/kidney disease.csv') above command will create an error and will get resolved when it is df=pd.read_csv('/home/jovyan/binder/kidney_disease.csv') replaced space with underscore

Solution 11:[11]

To begin with, this has nothing to do with Jupyter. This is a pure Python problem!

In Python, as in most languages, a backslash is an special (escape) character in strings, for example "foo\"bar" is the string foo"bar without causing a syntax error. Also, "foo\nbar" is the strings foo and bar with a newline in between. There are many more escapes.

In your case, the meaning of \ in your path is literal, i.e. you actually want a backslash appearing in the string.

One option is to escape the backslash itself with another backslash: "foo\\bar" amounts to the string foo\bar. However, in your case, you have several of these, so for readability you might want to switch on "raw string mode", which disables (almost all) escapes:

r"foo\bar\baz\quux\etc"

will produce

foo\bar\baz\quuz\etc

As a matter of programming style, though, if you want your code to be portable, it is better to use os.path.join which knows the right path separator for your OS/platform:

In [1]: import os.path

In [2]: os.path.join("foo", "bar", "baz")
Out[2]: 'foo/bar/baz'

on Windows, that would produce foo\bar\baz.

Solution 12:[12]

import pandas as pd data=pd.read_csv("C:\Users\ss\Desktop\file or csv file name.csv") just place the csv file on the desktop