我有一个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'
我该怎么办?
答案 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