有时我们需要使用一个excel表中所有单元格的数据来进行操作,可以使用循环来实现,我对比了一下,使用xlwings直接提取成列表,速度最快。
记录一下我的操作。
Excel数据(测试数据)如图,有部分单元格故意留空,用于测试。
python使用xlwings读取所有单元格内容,代码如下:
import xlwings as xw
app = xw.App(visible=False) # 隐藏Excel
wb = app.books.open('车主资料.xlsx') # 打开工作簿
sht = wb.sheets['Sheet1'] # 实例化工作表
range_obj = sht.range('A1:F9').expand('table')#F9是最右下角单元格的名称
rows_count = range_obj.rows.count#先获取A列的行数,注意它会停止计数在A列第一个空单元
print(rows_count)
columnd_data = sht.range('A2:F%s' % rows_count).value#将每行数据输出至列表
print(columnd_data)
wb.close()
app.quit()
结果如图:
输入结果为列表套列表。
首先,每一行数据是一个列表;然后,所有行的数据又组成一个列表。
注意:excel中的空单元格内容,在结果中为None。
这样excel表中所有单元格内的数据就提取出来了,可以根据需要用Python进行处理了。