-1
votes

Existe-t-il un moyen d'raccourcir un chemin de fichier sur Mac (Python) et d'atténuer les DataFrames?

J'ai déjà essayé d'utiliser la fonction OS.Path.

Par exemple, j'ai ce chemin de fichier: xxx

et je veux la raccourcir à xxx

afin que je puisse ensuite utiliser le module PD.Lead pour lire le fichier. Par exemple, j'aimerais faire cela: xxx

Cependant, évidemment 2 choses sont dans mon chemin:

  1. Le nom du chemin de fichier étant si Darn Long
  2. la quantité de dataframes que j'ai. J'aimerais tous les mettre ensemble ensemble et tous les lire au «même temps», donc je n'ai pas à itération à travers chacun et rendez le code plus extensible

    Y a-t-il un moyen de faire cela? Merci d'avance!


4 commentaires

Que voulez-vous dire "raccourcir le chemin", demandez-vous comment déplacer un fichier d'un chemin à un autre?


Où est votre fichier Python localiser sur votre PC?


Pourquoi vous voulez ceci? Vous ne pouvez pas accéder au fichier à l'aide du chemin /file1.csv . Si vous voulez une sorte de chemin relatif, il ne doit pas commencer par / .


Vous pouvez définir la racine du chemin comme variable.


3 Réponses :


0
votes

os.path.join (OS.Path.split (r '/ users / u105 / documents / sites / docs / expérimentation / fichier1.csv') [1], '') sera Faites-le.


5 commentaires

Cela donnera file1.csv , pas /file1.csv .


@Johngordon bon point! Vous pouvez l'ajouter à l'aide de OS.Path.Join (nom de fichier, '') . J'ai mis à jour ci-dessus.


Ou vous pouvez simplement ajouter le / en remplaçant à l'aide de ce code shorten = "/" + os.path.split (chemin) [1]


@Hamzaanis "/" présume que le système d'exploitation est Mac cependant.


Si vous voulez que ce soit plus générique, vous pouvez utiliser os.path.sep et il doit s'agir de ce shorten = os.path.sep + os.path.split (chemin) [ 1] donc pour Windows, ce serait \ file1 et pour mac et linux, ce serait / fichier1



0
votes

Si vous vouliez entrer dans le répertoire actuel ou dire un répertoire à partir de l'actuel, vous pouvez utiliser:

sys.path.append('path/to/Experiment/')


0 commentaires

1
votes

Au lieu de cela manuellement de définir des variables comme ça, vous pouvez utiliser une boucle pour définir,

et ajouter les variables dans une liste. P>

import glob

files = glob.glob("/Users/GSteve_105/Documents/sites/Docs/Experiment/file*.csv") # List all the csv file in the Experiment folder that begins with 'file'


2 commentaires

Existe-t-il une façon d'utiliser la fonction GLOB pour le faire pour cela pour les fichiers qui ont des noms de démarrage différents, par exemple des fichiers avec les noms ControlFile1, ControlFile2, TestFile1, Testfile2, puis le faire pour tous? Merci.


Vous pouvez modifier "/ users / gsteve_105 / documents / sites / docs / expériences / fichier * .csv" à "/ users / gsteve_105 / documents / sites / docs / experiment / *. csv " pour lister Tous les fichiers CSV dans expérimentent .