我有一个包含.ann(注释文件)的目录。我正在计算每个连续元素之间的距离并将其存储在字典中,该部分都很好我得到了所需的输出。
问题是我需要在csv文件中的这些数据稍后在MatLab中处理。我得到空的csv文件,只包含数据中的行数。如果您不太了解并且缺乏Python经验,请原谅我。
import collections
import os
import csv
path = "C:/Users/ernes/Documents/MATLAB/Annotations_Subject2/"
def s_distance(spikes):
dist = []
for times in range(1, len(spikes)):
dist.append(round(spikes[times] - spikes[times - 1], 4))
return dist
def write_to_csv(file_name, datos):
csv_file = open(file_name+'.csv', 'w', newline='')
writer = csv.writer(csv_file)
writer.writerow(datos)
for file in os.listdir(path):
if file.endswith('.ann'):
print(file)
fileID = open(path+file, 'r')
data = {}
for line in fileID:
(value, key) = line.split()
data.setdefault(int(key), []).append(float(value))
data = collections.OrderedDict(sorted(data.items()))
for items in data:
print(items, ' ', s_distance(data[items]))
write_to_csv(file, data)
else:
continue