2016-07-01 2 views
0

Мне нужно прочитать данные из .EDF с помощью файла Python и сохранить его в формате .txt. Я нашел код, который позволяет это сделать, но пока он работает, возникает ошибка. Я только начал изучать Python. Прошу вас помочь мне! Ссылка на .EDF код преобразования файлов в формате .txt Я пытаюсь использовать: http://csl-sessions.blogspot.ru/2014/06/program-to-convert-files-edf-to-txt.htmltransform .EDF файл на Python в .txt

ссылка .EDF Скачать файл: https://cloud.mail.ru/public/CUtc/WrFkpHMDd

Если вы знаете другой способ, чтобы помочь мне, буду благодарен ,

+0

Пожалуйста, гораздо более конкретны. Какой именно код вы используете? Какая ошибка возникает? (Показать полный текст) –

+0

Ссылка на весь код: http://csl-sessions.blogspot.ru/2014/06/program-to-convert-files-edf-to-txt.html Я изменил его такие строки: FileEDF = 'BARBIERI_EYES_OPEN' FileName = '' InfoFile textFileName = FileName + '.txt' command_line = 'wfdb2mat -r '+ FileEDF +'. EDF>' + FileName + 'Информация' os.system (command_line) мат = scipy.io.loadmat (FileEDF + '_ edfm.mat') – EmptyMan

+0

End treceback: Файл «C: \ Users \ алексей \ AppData \ Local \ Continuum \ Anaconda2 \ Lib \ сайт- пакеты \ scipy \ io \ matlab \ mio.py ", строка 23, в _open_file retu rn open (file_like, 'rb') IOError: [Errno 2] Нет такого файла или каталога: 'BARBIERI_EYES_OPEN_edfm.mat' – EmptyMan

ответ

3

pyedflib - библиотека python для разбора .edf файлов. (Iv'e побежал one of their examples на файл)

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)) 
Смежные вопросы