我在一個CSV文件中讀取像這樣在一個CSV文件中平均爲每列:Python的 - 尋找不包括標題和時間
with open('data.csv', 'rb') as f:
reader = csv.reader(f)
data_list = list(reader)
這裏data_list
是CSV文件的每一行的列表。所以data_list[0]
是csv文件中的第一行(即Headers),data_list[1]
以後是包含csv文件中的數據的實際行,而data_line[1:][1]
是時間。
所以基本上
data_list=
[['','Header1','Header2','Header3'],
['12:02:11', '2.3', '6.2', '11.8'],
['12:05:25', '1.5', '7.5', '13.2'],
['12:10:48', '4.1', '6.8', '12.6'],
['12:13:17', '1.6', '7.1', '12.1']]
我想找到的每一列,但不包括頭和時間作爲計算的一部分,但保持頭的輸出,僅取一位小數的平均值。總的來說,我想產生這樣的事:
average_data_list=
[['','Header1','Header2','Header3'],
['', 2.3', '6.9', '12.4']]
我一直在使用Python - Calculate average for every column in a csv file爲指導,但我的代碼不斷拋出的錯誤,因爲我不能讓它正確地跳過標題和時間。
任何幫助,將不勝感激
有沒有一種方法可以使平均只有一個小數位長?像正確地在某處加入'%.1f'? – Catherine
確實,只需用適當的'format'替換'str'即可。我已經更新了答案。 –
非常感謝! – Catherine