我正在使用python xlwings读取Excel 2013中的一列数据。列A
中填充了数字。要将此列导入到python列表py_list
,我有以下代码
import xlwings as xw
wb = xw.Book('BookName.xlsm')
sht = xw.Book('SheetName')
py_list = sht.range('A2:A40').value
如果列数据是在A2:A40
处填充的,则上述代码有效。但是,列数据可以继续增长。数据可以增长并延伸到A2:A46
或A2:A80
。最后一行是空的。编译时不知道此列中有多少行数据。
如何修改代码以检测最后一行的空单元格,以便py_list
可以读取数据范围?
我愿意使用其他python库来读取除了xlwings之外的Excel数据。我正在使用python v3.6
我知道这是个老问题,但你也可以使用^{}
注:
Pandas是一个很棒的库,但是安装它只是为了将excel列读入列表是一个过分的IMHO。
xlrd不再被维护。从xlrd github page
经过反复试验,我会回答我自己的问题。
这个问题的关键是找出
A
列中的行数。使用下面的xlwings可以找到这一行的行数
我们需要仔细阅读API文档才能得到答案。
http://docs.xlwings.org/en/stable/api.html#xlwings.Range
一旦找到行数,就很容易找出其余的行数。
我经常说从csv或excel读取文件,但我会使用^{} 。
另一种方法是在excel中使用类似soemthing的偏移量而不是
'A2:A40'
的动态公式,或者使用命名范围?相关问题 更多 >
编程相关推荐