我有一个 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'
我应该做什么?
最佳答案
您正在使用的库,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
):
- https://pypi.python.org/pypi/xlrd
- https://pypi.python.org/pypi/xlwt
- https://pypi.python.org/pypi/XlsxWriter
- https://pypi.python.org/pypi/openpyxl
或者尝试先通过读取文件来管理某些内容,例如与 xlwt 的姐妹项目 xlrd
.
关于在 Excel 电子表格文件中搜索空单元格时,Python xlwt 产生 AttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49758593/