将数据附加到csv文件

时间:2014-03-01 07:18:53

标签: python append

我正在尝试将2个数据集附加到我的csv文件中。以下是我的代码。代码运行但我的数据被附加在第一列中的一组数据下面(即col [0])。但是,我想将我的数据集附加到文件末尾的单独列中。我可以就如何做到这一点获得建议吗?谢谢。

import csv

Trial = open ('Trial_test.csv', 'rt', newline = '')
reader = csv.reader(Trial)

Trial_New = open ('Trial_test.csv', 'a', newline = '')
writer = csv.writer(Trial_New, delimiter = ',')

Cortex = []
Liver = []

for col in reader:
    Cortex_Diff = float(col[14])
    Liver_Diff = float(col[17])
    Cortex.append(Cortex_Diff)
    Liver.append(Liver_Diff)
Avg_diff_Cortex = sum(Cortex)/len(Cortex)
Data1 = str(Avg_diff_Cortex)
Avg_diff_Liver = sum(Liver)/len(Liver)
Data2 = str(Avg_diff_Liver)
writer.writerows(Data1 + Data2)


Trial.close()
Trial_New.close()

1 个答案:

答案 0 :(得分:0)

我想我明白你要做什么了。我不会尝试完全为您重写您的功能,但这里有一个提示:假设您正在处理可管理大小的数据集,请尝试将整个CSV作为列表列表(或元组列表)读入内存,然后执行您对此对象的值进行计算,然后将python对象写回到单独的代码块中的新CSV。您可能会发现使用this articlethis one。当然,official documentation也应该有所帮助。

另外,我建议使用不同的文件进行输入和输出,以使您的生活更轻松。

例如:

import csv
data = []
with open('Trial_test.csv', 'rb') as csvfile:
   reader = csv.reader(csvfile, delimiter=' ', quotechar='|')
   for row in reader:
       data.append(row)

# now do your calculations on the 'data' object.

with open('Trial_test_new.csv', 'wb') as csvfile:
   writer = csv.writer(csvfile, delimiter=' ', quotechar='|')
   for row in data:
       writer.writerow(row)

反正这样的东西!