我需要使用Python文件从.EDF读取数据并以.txt格式保存。 我找到了一个允许你这样做的代码,但是当它运行时,会发生错误。我刚开始学习Python。 我请你帮帮我! 链接到.EDF文件转换代码到.txt我正在尝试使用: http://csl-sessions.blogspot.ru/2014/06/program-to-convert-files-edf-to-txt.html
.EDF下载文件链接:https://cloud.mail.ru/public/CUtc/WrFkpHMDd
如果您知道另一种方式来帮助我,我将不胜感激。
答案 0 :(得分:3)
使用 pyedflib - 一个python库来解析.edf
个文件。 (我在你的文件上运行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))