写入csv文件的意外输出

时间:2016-07-24 03:27:29

标签: python csv

我有一个包含.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  

0 个答案:

没有答案