2

我有 .edf 格式的跟踪数据记录(SR-RESEARCH eyelink)。我想在 python 中将其转换为 ASC/CSV 格式。我有 GUI 应用程序,但我想以编程方式(在 Python 中)进行。我找到了 pyEDFlib 包,但找不到如何将眼动追踪 .edf 文件转换为 .asc 或 .csv 的示例。

最好的最好方法是什么?

谢谢

4

2 回答 2

3

如果我信任此处的页面:http: //pyedflib.readthedocs.io/en/latest,您可以通过这种方式运行文件中的所有信号:

import pyedflib
import numpy as np

f = pyedflib.EdfReader("data/test_generator.edf")
n = f.signals_in_file
signal_labels = f.getSignalLabels()
sigbufs = np.zeros((n, f.getNSamples()[0]))
for i in np.arange(n):
    sigbufs[i, :] = f.readSignal(i)

pyEDFlib库只是将文件读入 EdfReader 对象。然后你只需要经历并为每个人做一行。

我假设signal_labels(在上面的代码中)将是一个包含所有标签的数组,所以用逗号分隔它们

signal_labels_row = ",".join(signal_labels)

然后对每个信号执行相同的操作,每个信号用 1 个逗号分隔的字符串

然后只需将它们写入文件即可。

我可以看到他们提供了一个如何读取文件并在此处提取您需要的所有数据的示例 https://github.com/holgern/pyedflib/blob/master/demo/readEDFFile.py

于 2018-02-14T11:16:10.607 回答
0

根据您的回答,我创建了此 python3 脚本以将所有信号导出到多个 .csv 文件https://github.com/folkien/pyEdfToCsv

于 2020-07-16T08:39:10.290 回答