我有一個csv文件,其中包含大約100列的數據。每列代表100天內每天每15分鐘獲取的溫度值。每列的標題是當天的日期。我想把它轉換成兩列,第一列是日期時間(我將不得不以這種方式創建),第二列是每天的溫度堆疊在一起。將多列添加到兩列python
我嘗試:
with open("original_file.csv") as ofile:
stack_vec = []
next(ofile)
for line in ofile:
columns = lineo.split(',') # get all the columns
for i in range (0,len(columns)):
stack_vec.append(columnso[i])
np.savetxt("converted.csv",stack_vec, delimiter=",", fmt='%s')
在我的嘗試,我想創建一個附加到它的結束每列一個新的向量。但是,代碼非常慢,可能無法正常工作!一旦我找到了這一步,我需要從每一列中獲取日期,併爲每一行添加15分鐘到日期時間。任何幫助將不勝感激。
對於.csv我總是推薦使用numpy函數「genfromtext」。 csvData = genfromtxt('original_file.csv',delimiter =',') 之後,您可以像使用任何其他numpy數組一樣使用csvData,而不必擔心行尾字符等內容。另外,它應該是相當快的。 「可能不工作」是什麼意思? – offeltoffel
感謝您的提示。可能不工作,我的意思是該程序正在運行,但沒有完成。大約5分鐘左右後我終止它。 – Sjoseph
我明白了。有一點讓我感到震驚的是,你的循環中有np.savetxt超過了100列。所以相同的文件被一次又一次地保存。無論如何,你應該考慮馬文的答案。他還使用genfromtext,並詳細解釋如何在您的情況下使用它。 – offeltoffel