Ich hoffe, das ist nicht trivial, aber ich frage mich folgende:in allen csv-Dateien aus einem Verzeichnis lesen Python
Wenn ich einen bestimmten Ordner mit ncsv
Dateien habe, wie könnte ich alle iterativ lesen sie einzeln nacheinander und führen einige Berechnungen ihrer Werte durch?
Für eine einzelne Datei, zum Beispiel, ich habe so etwas wie diese und einige Berechnungen auf die x
Array durchführen:
import csv
import os
directoryPath=raw_input('Directory path for native csv file: ')
csvfile = numpy.genfromtxt(directoryPath, delimiter=",")
x=csvfile[:,2] #Creates the array that will undergo a set of calculations
Ich weiß, dass ich überprüfen, wie viele csv
Dateien dort in einem bestimmten Ordner ist (überprüfen here):
import glob
for files in glob.glob("*.csv"):
print files
Aber ich konnte nicht herausfinden, wie man möglicherweise Nest die numpy.genfromtxt()
Funktion in einem for-Schleife, so dass ich in allen csv-Dateien eines Verzeichnisses zu lesen, dass es bis zu mir ist zu spezi fy.
EDIT
Der Ordner ich nur jpg
und csv
Dateien hat. Letztere heißen eventX.csv
, wobei X von 1 bis 50 reicht. Die for
-Schleife, auf die ich mich beziehe, sollte daher die Dateinamen so betrachten, wie sie sind.
Kann die 'f.close()' Zeile direkt nach der Definition von 'x = csvfile [:, 2]' gesetzt werden? Die Zahl "2" ist nur beispielhaft. – FaCoffee
Und wenn ich hinzufügen darf, ist Ihr Code für alle 'CSV'-Dateien in allen Ordnern innerhalb' Verzeichnis'? – FaCoffee
als eine Anmerkung, der empfohlene Weg zum Öffnen von Dateien ist 'mit offenen (Datei) als Datei' dies hat den Vorteil, automatisch zu schließen, wenn außerhalb des Geltungsbereichs – Busturdust