2017-06-21 13 views
0

Ich habe mehr als 200 Dateien in .csv und ich möchte zwei von ihnen in der gleichen Zeit (aktuelle und nächste) lesen und berechnen. Ich versuche glob Daten und Pandas zu verwenden RahmenPython. Wie liest man mehrere .csv-Dateien?

import glob 

for file in glob.glob(path+'*.csv'): 
    x1 = pd.read_csv(file, delimiter=',', dtype=None, names=('x', 'y')) 
    x2 = pd.read_csv(file + 1 , delimiter=',', dtype=None, names=('x', 'y')) 

ich keine anderen Ideen haben.

+0

Die vorherige und die nächste? Das macht keinen Sinn. Du meinst: *** *** *** und der nächste? oder der *** aktuelle *** und der vorherige? – Abdou

+0

@abdou rechts - ** current ** war das Wort, das ich verwenden wollte ;-) – ruan

Antwort

0

Wenn Sie bei jeder Iteration mit der aktuellen und den nächsten Datei zu arbeiten, sollte Folgendes tun:

from glob import glob 


files = glob('*.csv') 

for i, file in enumerate(files[:-1]): 
    x1 = pd.read_csv(file, delimiter=',', dtype=None, names=('x', 'y')) 
    x2 = pd.read_csv(files[i+1] , delimiter=',', dtype=None, names=('x', 'y')) 
    # Do what you want to do 

Diese enumerate verwendet aus dem files Sequenzerspur des Index der aktuellen Datei zu halten. Auf diese Weise können Sie die "nächste Datei" während der Arbeit mit der "aktuellen" Datei abrufen, indem Sie einfach 1 den aktuellen Index hinzufügen.

Ich hoffe, das hilft.

Verwandte Themen