2016-09-23 4 views
0

Ich möchte alle CSV-Datei in einem bestimmten Ordner öffnen und lesen. Ich bin auf OS X El Capitan Version 10.11.6, und ich benutze Python 2.7.10. Ich habe die folgende Funktion in Phyton-Datei:Python: [Errno 2] Keine solche Datei oder Verzeichnis

def open_csv_files(dir): 
for root,dirs,files in os.walk(dir): 
    for file in files: 
     if file.endswith(".csv"): 
      f= open(file) 
      print "FILE OPEN, AND DO SOMETHING... " 
      f.close 
return 

Ich nenne open_csv_file(./dati/esempi)

Dieses Verfahren Rückkehr

IOError: [Errno 2] No such file or directory: 'sensorfile_1.csv' 

Ich versuche, den Vorgang mit absolutem Pfad zu nennen /Users/Claudia/Desktop/Thesis/dati/esempi/ aber ich habe den gleichen Fehler .

Darüber hinaus definiere ich eine andere Prozedur, die alle Dateinamen im Ordner drucken, diese Prozedur druckt korrekt alle Dateinamen im Ordner.

Danke für die Hilfe.

+1

Was passiert, wenn Sie tun 'f = open (Datei)' mit dem absoluten Pfad '/ Users/Claudia/Desktop/Diplomarbeit/dati/esempi /' –

+0

es works..thanks – Claudia

Antwort

5

Sie müssen absoluten Pfad zur Datei basierend auf den Werten root (Basisverzeichnis) und Dateiname erstellen.

import os 


def open_csv_files(directory): 
    for root, dirs, files in os.walk(directory): 
     for file_name in files: 
      if file_name.endswith(".csv"): 
       full_file_path = os.path.join(root, file_name) 
       with open(full_file_path) as fh: 
        print "Do something with", full_file_path 
Verwandte Themen