J'utilise jupyter notebook pandas to_csv ne génère pas le dataframe dans un fichier.
J'ai essayé d'utiliser to_csv pour générer un dataframe dans un csv fichier en définissant le répertoire de travail ou en spécifiant le répertoire, et il n'a créé aucun fichier. Le code s'est exécuté et n'a produit aucun message d'erreur, mais lorsque j'ai ouvert le dossier, il n'y avait pas de fichier de ce type.
J'ai essayé un autre IO, et il a montré que le résultat avait été sorti. p>
,a 0,1 1,2 2,3
J'ai obtenu la sortie suivante:
from io import StringIO output = StringIO() a.to_csv(output) print(output.getvalue())
mais encore une fois to_csv ('filepath / filename.csv') ne produit aucun fichier.
PS: Je peux lire n'importe quel fichier dans n'importe quel répertoire en utilisant read_csv ().
Si j'enregistre le fichier df.to_csv ('testfile.csv') puis faites pd.read_csv('testfile.csv')
Je peux lire le fichier mais ne peut pas le voir dans le répertoire.
De plus, faire [x for x dans os.listdir () if x == 'testfile.csv'] listera le fichier.
4 Réponses :
Vous n'avez peut-être pas accès à votre dossier de sortie.
Commencez par essayer le répertoire actuel, comme to_csv ('tmp.csv') .
Vérifiez ensuite la propriété du répertoire en utilisant ls -l .
J'ai essayé ls -l et il n'a pas montré le fichier qui devrait être là.
Vous devez utiliser cette commande dans le dossier supérieur, vous devez vérifier si vous avez le droit d'écrire dans le dossier.
vous avez probablement oublié d'ajouter le nom du fichier après votre chemin, donc il nommera votre fichier comme le dernier caractère de votre chemin, que vous pouvez voir sur la page d'accueil de jupyter.
devrait être: df.to_csv ('chemin / nom de fichier.csv', ....)
plutôt que df.to_csv ('chemin.csv' ......)
Je pense que le problème est que vous exécutez un bloc-notes Jupyter, donc le "répertoire actuel" du bloc-notes se trouve probablement quelque part dans "C: \ Users \ user_name \ AppData ...".
Essayez d'exécuter os.getcwd () seul dans votre bloc-notes. Ce ne sera probablement pas le même dossier que celui où le fichier * .ipynb est enregistré. Donc, comme @Chris l'a suggéré dans les commentaires, ceci:
df.to_csv(os.getcwd()+'\\file.csv')
... enverra votre csv dans le dossier AppData.
df.to_csv('C:\\Users\\
(Remarque: cela m'a également déclenché dans VS-Code lors de l'utilisation de l'exécution interactive iPython qui se produit lorsque vous appuyez sur Maj + Entrée. Fait intéressant, dans VS-Code, si vous utilisez ctrl + shift + p et sélectionnez "Python: Exécuter la sélection ... "il s'exécute dans votre terminal par défaut, qui n'a pas ce problème.)
J'ai eu le même problème avec spyder. Dans mon cas, cela a été causé par l'outil de sécurité Internet (COMODO) que j'ai utilisé, qui a en quelque sorte exécuté spyder dans un bac à sable ou plus et ne lui a pas permis d'écrire dans les répertoires "normaux". Au lieu de cela, il a enregistré le résultat dans un dossier nommé C: VTRoot \ HarddiskVolume2 \ users \. Vous pouvez essayer d'enregistrer un fichier avec un nom assez unique a.to_csv ('very_unique_filename.csv'), puis rechercher dans l'explorateur Windows ce nom de fichier pour trouver le dossier dans lequel il est stocké. Si la raison est un outil comme celui-ci, changer ses paramètres peut aider.
En fait, je viens de trouver la solution que vous avez recommandée - il s'avère que l'application jupyter notebook est contenue dans C: VTRoot \ HarddiskVolume2 \ users \ et tous les fichiers sont là. Si c'est un fichier * .py, nous pouvons le déverrouiller dans le conmodo et ensuite il écrira dans le dossier que nous aimons. Cependant, je n'ai pas trouvé de moyen de déverrouiller l'application jupyter notebook.
essayez
to_csv ('file.csv')et utilisez simplement un chemin relatif? il devrait apparaître dans votre dossierutilisez-vous mac, windows, linux, etc.?
J'utilise Windows. J'ai essayé toutes les manières possibles de penser pour to_csv. Mais maintenant, le fichier est apparu dans le dossier.
Avez-vous essayé un chemin absolu? Le répertoire actuel peut être différent de ce que vous pourriez penser.
J'ai essayé 1. répertoire absolu, 2. utilisez os.chdir () pour spécifier un répertoire, 3. utilisez simplement to_csv ('filename.csv'). cela n'a pas fonctionné dans tous les cas.
@LiAi qu'en est-il d'essayer
df.to_csv (os.getcwd () + '\\ file.csv')oudf.to_csv (r'some \ file \ path \ file.csv ' )affichez-vous une version mise en cache d'un pilote réseau?Avez-vous actualisé le répertoire de sortie?
@Chris a juste essayé les deux, ni fonctionné. Si étrange - je n'ai jamais connu cela auparavant.
@LiAi si vous n'obtenez pas d'erreur, essayez de lire le fichier enregistré (même si vous ne pouvez pas le voir dans le répertoire) pour voir s'il existe: d'abord
df.to_csv ('testfile.csv')puispd.read_csv ('testfile.csv')@Chris df.to_csv ('testfile.csv') puis pd.read_csv ('testfile.csv') fonctionne. Je peux lire le fichier, mais je ne peux pas voir le fichier.
@LiAi est-ce que
[x for x dans os.listdir () if x == 'testfile.csv']liste le fichier dans le répertoire? De plus, comme vous pouvez lire le fichier, il ne semble pas s'agir d'un problème python / pandas. Je peux vous donner le cliché "avez-vous essayé d'éteindre et de rallumer"?[x pour x dans os.listdir () si x == 'testfile.csv'] a répertorié le nom du fichier. J'ai essayé de redémarrer l'ordinateur mais il ne s'est toujours pas présenté. sur le point de lui donner un deuxième essai. le deuxième essai n'a toujours pas montré le fichier.
@LiAi hmmm essayez d'ouvrir le panneau de contrôle et accédez à
Apparence et personnalisationpuis sousOptions de l'explorateur de fichierscliquez surAfficher les fichiers et dossiers cachésVérifiezAfficher les fichiers, dossiers et lecteurs cachéset assurez-vous queMasquer les extensions pour les types de fichiers connusn'est pas coché, puis appliquer aux dossiers@Chris a essayé ce que vous avez suggéré mais toujours pas de chance. Je peux toujours lire le fichier. Vraiment bizarre.
@LiAi c'est vraiment inhabituel. J'aimerais pouvoir aider, mais c'est tout ce que je peux penser à essayer. Espérons que quelqu'un d'autre vous aide. Bonne chance à vous.
J'utilisais le notebook jupyter d'Anaconda. J'ai essayé d'utiliser les fenêtres du terminal et l'araignée pour faire la même chose et ils ont tous les deux fonctionné! donc je vais essayer de réinstaller Anaconda.
ça a l'air vraiment bizarre maintenant ... J'ai réinstallé Anaconda et je ne vois toujours pas les fichiers dans le dossier. MAIS, quand j'ai ouvert le Jupyterlab (pas le notebook Jupyter) d'Anaconda, je peux voir tous les fichiers que j'ai sauvegardés .... Que s'est-il passé ??
Probablement résolu pour moi. Voir la réponse de l'utilisateur 12352611.