2016-07-01 5 views
0

Ich muss Daten aus. EDF mit Python-Datei lesen und speichern Sie es im. TXT-Format. Ich habe einen Code gefunden, mit dem Sie dies tun können, aber während der Ausführung tritt ein Fehler auf. Ich habe gerade angefangen Python zu lernen. Ich bitte Sie, mir zu helfen! Link zur Dateikonvertierung Code in einem .txt-.edf ich verwenden ist versucht: http://csl-sessions.blogspot.ru/2014/06/program-to-convert-files-edf-to-txt.htmlTransformieren EDF-Datei auf Python in. Txt

.edf Datei herunterladen Link: https://cloud.mail.ru/public/CUtc/WrFkpHMDd

Wenn Sie eine andere Art und Weise kennen, mir zu helfen, werde ich dankbar sein .

+0

Bitte viel präziser. Genau welchen Code verwendest du? Welcher Fehler tritt auf? (Zeigen Sie die vollständige Traceback) –

+0

Link zu allen der Code: http://csl-sessions.blogspot.ru/2014/06/program-to-convert-files-edf-to-txt.html Ich habe es nur geändert Diese Linien: FileEDF = 'BARBIERI_EYES_OPEN' filename = 'Infofile' Textfilename = Dateiname + '.txt' command_line = 'wfdb2mat -r '+ FileEDF +'. edf>' + Dateiname + 'info' os.system (command_line) mat = scipy.io.loadmat (FileEDF + '_ edfm.mat') – EmptyMan

+0

End treceback: Datei „C: \ Benutzer \ alexey \ AppData \ Local \ Continuum \ Anaconda2 \ lib \ Site- packages \ scipy \ io \ matlab \ mio.py ", Zeile 23, in _open_file retu rn öffnen (file_like, 'rb') IOError: [Errno 2] Keine solche Datei oder Verzeichnis: 'BARBIERI_EYES_OPEN_edfm.mat' – EmptyMan

Antwort

3

Verwenden Sie pyedflib - eine Python-Bibliothek zum Parsen .edf Dateien. (Iv'e lief one of their examples auf Ihrer Datei)

from __future__ import division, print_function, absolute_import 
import os 
import pyedflib 

if __name__ == '__main__': 
    data_dir = os.path.join('.', 'data') 
    test_data_file = os.path.join(data_dir, 'BARBIERI_EYES_OPEN.EDF') 
    f = pyedflib.EdfReader(test_data_file) 
    print("\nlibrary version: %s" % pyedflib.version.version) 

    print("\ngeneral header:\n") 

    print("file duration: %i seconds" % f.file_duration) 
    print("startdate: %i-%i-%i" % (f.getStartdatetime().day,f.getStartdatetime().month,f.getStartdatetime().year)) 
    print("starttime: %i:%02i:%02i" % (f.getStartdatetime().hour,f.getStartdatetime().minute,f.getStartdatetime().second)) 
    print("patientcode: %s" % f.getPatientCode()) 
    print("gender: %s" % f.getGender()) 
    print("birthdate: %s" % f.getBirthdate()) 
    print("patient_name: %s" % f.getPatientName()) 
    print("patient_additional: %s" % f.getPatientAdditional()) 
    print("admincode: %s" % f.getAdmincode()) 
    print("technician: %s" % f.getTechnician()) 
    print("equipment: %s" % f.getEquipment()) 
    print("recording_additional: %s" % f.getRecordingAdditional()) 
    print("datarecord duration: %f seconds" % f.getFileDuration()) 
    print("number of datarecords in the file: %i" % f.datarecords_in_file) 
    print("number of annotations in the file: %i" % f.annotations_in_file) 

    channel = 3 
    print("\nsignal parameters for the %d.channel:\n\n" % channel) 

    print("label: %s" % f.getLabel(channel)) 
    print("samples in file: %i" % f.getNSamples()[channel]) 
    print("physical maximum: %f" % f.getPhysicalMaximum(channel)) 
    print("physical minimum: %f" % f.getPhysicalMinimum(channel)) 
    print("digital maximum: %i" % f.getDigitalMaximum(channel)) 
    print("digital minimum: %i" % f.getDigitalMinimum(channel)) 
    print("physical dimension: %s" % f.getPhysicalDimension(channel)) 
    print("prefilter: %s" % f.getPrefilter(channel)) 
    print("transducer: %s" % f.getTransducer(channel)) 
    print("samplefrequency: %f" % f.getSampleFrequency(channel))