web-dev-qa-db-fra.com

"Le fichier CSV n'existe pas" - Pandas Dataframe

J'apprends actuellement les pandas pour l'analyse des données et j'ai quelques problèmes à lire un fichier csv dans l'éditeur Atom. 

Quand j'exécute le code suivant:

import pandas as pd 

df = pd.read_csv("FBI-CRIME11.csv")

print(df.head())

Je reçois un message d'erreur qui se termine par 

OSError: le fichier b'FBI-CRIME11.csv 'n'existe pas

Voici le répertoire dans le fichier: /Users/alekseinabatov/Documents/Python/"FBI-CRIME11.csv ".

Quand j'essaye de l'exécuter de cette façon:

df = pd.read_csv(Users/alekseinabatov/Documents/Python/"FBI-CRIME11.csv")

Je reçois une autre erreur:

NameError: le nom 'Utilisateurs' n'est pas défini

J'ai également placé ce répertoire dans le champ "Projet Home" dans les paramètres de l'éditeur, bien que je ne sois pas tout à fait sûr que cela fasse une différence.

Je parie qu'il existe un moyen facile de le faire fonctionner. J'apprécierais vraiment votre aide! 

8
Aleksei Nabatov

As-tu essayé?

df = pd.read_csv("Users/alekseinabatov/Documents/Python/FBI-CRIME11.csv")

ou peut-être

df = pd.read_csv('Users/alekseinabatov/Documents/Python/"FBI-CRIME11.csv"')

(Si le nom du fichier a des guillemets)

11
arutaku

Se référant simplement au nom de fichier comme

df = pd.read_csv("FBI-CRIME11.csv")

ne fonctionne généralement que si le fichier est dans le même répertoire que le script.

Si vous utilisez Windows, assurez-vous de spécifier le chemin d'accès au fichier comme suit:

PATH = "C:\\Users\\path\\to\\file.csv"
4
BartDur

En cas de problème avec le chemin, il s'avère que vous devez spécifier le premier '/' pour qu'il fonctionne!

3
Adnane

Etre sur cahier jupyter cela fonctionne pour moi, y compris le chemin relatif uniquement. Par exemple:

df = pd.read_csv ('file.csv')

Mais, par exemple, dans vscode je dois mettre le chemin complet:

df = pd.read_csv ('/home/code/file.csv')
1
user3403899

J'ai également rencontré le même problème que j'ai résolu comme suit:

dataset = pd.read_csv('C:\\Users\\path\\to\\file.csv')
1
İrem Şahin

Il vous manque '/' avant les utilisateurs. Je suppose que vous utilisez un MAC devinant à partir des noms de chemins de fichiers. Votre répertoire racine est '/'.

1
broken_arrow

Dans mon cas, je viens de supprimer .csv de la fin. J'utilise Ubuntu.

pd.read_csv("/home/mypc/Documents/pcap/s2csv")
0
Kunal C

J'avais le même problème, mais cela se passait parce que mon fichier s'appelait "geo_data.csv.csv" - le nouvel ordinateur portable ne montrait pas les extensions de fichier. Le problème du nom était donc invisible dans l'explorateur Windows. Très stupide, je sais, mais si cette solution ne fonctionne pas pour vous, essayez ça :-)

0
George

Ce qui a fonctionné pour moi: 

import csv
import pandas as pd
import os

base =os.path.normpath(r"path")



with open(base, 'r') as csvfile:
    readCSV = csv.reader(csvfile, delimiter='|')
    data=[]
    for row in readCSV:
        data.append(row)
    df = pd.DataFrame(data[1:],columns=data[0][0:15])
    print(df)


This reads in the file , delimit by |, and appends to list which is converted to a pandas df (taking 15 columns)
0
Chris Marsh

Exécutez la commande "pwd" en premier dans cli pour savoir quelle est la direction de votre projet actuel, puis ajoutez le nom du fichier à votre chemin!

0
DragoRoff

Essaye ça 

import os 
cd = os.getcwd()
dataset_train = pd.read_csv(cd+"/Google_Stock_Price_Train.csv")
0
Brett Young

Assurez-vous que votre fichier source est enregistré au format .csv. J'ai essayé toutes les étapes consistant à ajouter le chemin d'accès complet au fichier, y compris en supprimant l'en-tête = 0, en ajoutant skiprows = 0, mais rien ne fonctionne car j'ai enregistré le fichier Excel (fichier de données) au format classeur et non au format CSV. alors gardez à l'esprit de vérifier d'abord l'extension de votre fichier.

0
monica

La réponse d'Adnane m'a aidé.

Voici mon code complet sur mac, espérons que cela aide quelqu'un. Tous mes fichiers csv sont enregistrés dans/Users/lionelyu/Documents/Python/Projets Python /

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('ggplot')

path = '/Users/lionelyu/Documents/Python/Python Projects/'

aapl = pd.read_csv(path + 'AAPL_CLOSE.csv',index_col='Date',parse_dates=True)
Cisco = pd.read_csv(path + 'Cisco_CLOSE.csv',index_col='Date',parse_dates=True)
ibm = pd.read_csv(path + 'IBM_CLOSE.csv',index_col='Date',parse_dates=True)
amzn = pd.read_csv(path + 'AMZN_CLOSE.csv',index_col='Date',parse_dates=True)
0
Lionel Yu

Il suffit de changer le nom du fichier CSV. Une fois que je l'ai changé pour moi, cela a bien fonctionné. Auparavant, j'ai donné data.csv puis je l'ai changé en CNC_1.csv.

0