0
我是python編程新手。我寫了一個腳本從api獲取數據(使用python 2.7.8),現在我想將它添加到excel電子表格中,並保存所有數據。openpyxl:找到每列的最高行
在我的電子表格中,每行都是一天,但某些數據直到30天后纔會變爲可用狀態,所以我的某些列未滿到當前日期。基本上,並非所有的列長度都是相同的。
我想閱讀每一列,找到該列的最高行,然後將我的數據點添加到該列的末尾。如果所有列的長度相同,這將很簡單,但我不明白如何分別查找每列的長度。
我已經通讀了關於openpyxl的文檔,但是我對python很陌生,並且我不是很瞭解所有的東西。我認爲解決方案將涉及「爲每列獲取最高行」之類的內容,然後將每個數據點附加到該列。但我不明白如何去做「每列」部分。找到每一列的長度也是可行的。
在此先感謝
編輯:我想出了一個解決辦法:我知道列的相對長度,所以我減去從最後一排數:
last_row = ws.get_highest_row() + 1
col_num = 1
dataRow_length = len(dataRow)
row_offset = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 7, 14, 28, 1, 2, 3, 7, 14, 28]
for i in range(0, dataRow_length - 1):
ws.cell(row=(last_row - row_offset[col_num - 1]), column=col_num).value = dataRow[i]
col_num = col_num + 1
感謝您回覆查理。我試圖找到每列的長度,而不是行。我無法弄清楚如何做到這一點,所以我使用瞭解決方法。我知道所有列的相對長度,所以我創建了一個「行偏移量」列表,並從列的最後一行中減去偏移量的長度: – Davidjb 2014-11-05 02:25:57
我將我的代碼添加到上面的答案 – Davidjb 2014-11-05 02:27:00
工作表具有'。列屬性,它返回所有列的連續。 – 2014-11-05 08:16:23