我是python编程的新手。我编写了一个脚本来从api获取数据(使用python 2.7.8),现在我想将它添加到excel电子表格中,我保存所有数据。
在我的电子表格中,每一行都是一天,但有些数据在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
答案 0 :(得分:1)
如果迭代工作表的行,则始终可以找到行的长度。这应该足以满足您的目的。如果没有,请提供一些代码,以便更清楚地了解您想要做什么。