在Excel电子表格文件中搜索空单元格时,Python xlwt会生成AttributeError

时间:2018-04-10 16:24:46

标签: python excel

我有一个Excel文件,我使用Python填充其行和列。

我想使用以下函数查找表中的第一个空行并填充它:

from xlwt import Workbook, easyxf
def next_available_row(sheet):
    str_list = filter(None, sheet.col_values(1))  # error
    return str(len(str_list)+1)

wb=Workbook()
sheet=wb.add_sheet('sheet1')
sheet.write(0,0,'item')
sheet.write(0,1,'cost')
sheet.write(next_available_row(sheet),0,'potato')
sheet.write(next_available_row(sheet),1,4)

但是我收到以下错误:

AttributeError: 'sheet' object has no attribute 'col_values'

我该怎么办?

2 个答案:

答案 0 :(得分:1)

您正在使用的库xlwt仅用于编写 .xls个电子表格,并且没有方法col_values(要读取其内容),因为错误消息已经(正确)说明。

要用于搜索空单元格的函数next_available_row()(来自How to find the first empty row of a google spread sheet using python GSPREAD?)基于不同的库gspread,而且显然不适用于Excel文件(例如.xls,请注意此文件类型有多个版本。)

所以你可能正在寻找一个完全不同的库,一个读写Excel文件的库。

http://www.python-excel.org/列出了几个库(包括您的xlrd):

或者可以尝试通过首先阅读文件来管理某些内容,例如与xlwt的姊妹项目xlrd

答案 1 :(得分:0)

似乎xlwt API上没有col_values方法。 http://xlwt.readthedocs.io/en/latest/api.html

也许一起使用xlrd,你可以实现目标。 http://xlrd.readthedocs.io/en/latest/api.html?highlight=col_values#xlrd-sheet