将数据附加到 csv 文件 [英] Appending data to csv file
问题描述
我正在尝试将 2 个数据集附加到我的 csv 文件中.下面是我的代码.代码运行,但我的数据附加在第一列(即 col[0])中的一组数据下方.但是,我想将我的数据集附加到文件末尾的单独列中.我可以请教我如何才能做到这一点吗?谢谢.
I am trying to append 2 data sets to my csv file. Below is my code. The code runs but my data gets appended below a set of data in the first column (i.e. col[0]). I would however like to append my data sets in separate columns at the end of file. Could I please get advice on how I might be able to do this? Thanks.
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()
推荐答案
我想我明白你想要做什么.我不会尝试完全为您重写您的函数,但这里有一个提示:假设您正在处理可管理大小的数据集,请尝试将整个 CSV 作为列表(或元组列表)读入内存,然后执行您对该对象上的值进行计算,然后在单独的代码块中将 python 对象写回新的 CSV.您可能会发现 这篇文章 或 这个 的使用.当然官方文档应该也有帮助.
I think I see what you are trying to do. I won't try to rewrite your function entirely for you, but here's a tip: assuming you are dealing with a manageable size of dataset, try reading your entire CSV into memory as a list of lists (or list of tuples), then perform your calculations on the values on this object, then write the python object back out to the new CSV in a separate block of code. You may find this article or this one of use. Naturally the official documentation should be helpful too.
此外,我建议使用不同的文件进行输入和输出,以使您的生活更轻松.
Also, I would suggest using different files for input and output to make your life easier.
例如:
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)
无论如何都是这样的!
这篇关于将数据附加到 csv 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!