簡體   English   中英

將數據附加到CSV文件

[英]Appending data to csv file

我正在嘗試將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()

我想我明白了您要做什么。 我不會嘗試完全為您重寫函數,但是這里有個提示:假設您要處理的數據集大小可控,請嘗試將整個CSV作為列表列表(或元組列表)讀入內存,然后執行您對該對象的值進行計算,然后在單獨的代碼塊中將python對象寫回到新的CSV中。 您可能會發現本文本文的其中一項 當然, 官方文檔也應該有所幫助。

另外,我建議使用不同的文件進行輸入和輸出,以使您的生活更輕松。

例如:

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)

反正就是這樣!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM