在Python 3.4中,如何将cell_值与xlrd进行比较并计算它们之间的差异
说来话长,对不起。所以,当我自学python的时候,我一直在想,我该如何将我所学的知识应用到我的日常生活或工作中,这样我就不只是做随机练习和教程了。我想我可以写一个脚本,使我在工作中的一部分工作自动化 我是一家酒店的餐饮部经理,所以我要做的一件事就是把我们所有的酒、啤酒和葡萄酒都清点一下。我想我可以想出一些可以:在Python 3.4中,如何将cell_值与xlrd进行比较并计算它们之间的差异,python,excel,python-3.4,xlrd,Python,Excel,Python 3.4,Xlrd,说来话长,对不起。所以,当我自学python的时候,我一直在想,我该如何将我所学的知识应用到我的日常生活或工作中,这样我就不只是做随机练习和教程了。我想我可以写一个脚本,使我在工作中的一部分工作自动化 我是一家酒店的餐饮部经理,所以我要做的一件事就是把我们所有的酒、啤酒和葡萄酒都清点一下。我想我可以想出一些可以: 从excel电子表格中检查我的当前库存 与我的标准(酒、白酒类、酒在酒店里的数量)相比,< 如果我当前的库存少于我的标准,脚本将计算出白酒类的差异和名称,并将其导出到一个自动发送的电
- 从excel电子表格中检查我的当前库存 与我的标准(酒、白酒类、酒在酒店里的数量)相比,< 如果我当前的库存少于我的标准,脚本将计算出白酒类的差异和名称,并将其导出到一个自动发送的电子邮件。
- 它将在周一和周四上午9点这样做,每周两次
import xlrd
import xlwt
import datetime
file_location = "Your file path here"
def par_num():
par_workbook = xlrd.open_workbook(file_location)
par_worksheet = par_workbook.sheet_by_name('Par')
# Total number of rows with content in cells.
num_rows = par_worksheet.nrows - 1
num_cells = par_worksheet.ncols - 2
# Current row for when iterating over spread sheet.
cur_row = 2
print(num_cells)
# Iterates over work sheet
while cur_row < num_rows:
cur_row += 1
cur_cell = -1
print('--------------------')
while cur_cell < num_cells:
cur_cell += 1
# Cell Types: 0 = Empty, 1 = Text, 2 = Number, 3 = Date, 4 = Boolean, 5 = Error, 6 = Blank
cell_type = par_worksheet.cell_type(cur_row, cur_cell)
# (Liq Name, Quantity in house)
cell_value = par_worksheet.cell_value(cur_row, cur_cell)
print(' ', cell_type, ' : ', cell_value)
def inventory_num():
inv_workbook = xlrd.open_workbook(file_location)
inv_worksheet = inv_workbook.sheet_by_name('Sheet1')
# Total number of rows with content in cells.
num_rows = inv_worksheet.nrows - 1
num_cells = inv_worksheet.ncols - 2
# Current row for when iterating over spread sheet.
cur_row = 2
# Iterates over work sheet
while cur_row < num_rows:
cur_row += 1
row = inv_worksheet.row(cur_row)
cur_cell = -1
print('--------------------')
while cur_cell < num_cells:
cur_cell += 1
# Cell Types: 0 = Empty, 1 = Text, 2 = Number, 3 = Date, 4 = Boolean, 5 = Error, 6 = Blank
cell_type = inv_worksheet.cell_type(cur_row, cur_cell)
# (Liq Name, Quantity in house)
cell_value = inv_worksheet.cell_value(cur_row, cur_cell)
print(' ', cell_type, ' : ', cell_value)
为了查看是否可以提取数量,它返回以下错误:
print(' ', cell_type, ' : ', cell_value[1])
TypeError: 'float' object is not subscriptable
“单元格值”的内容实际上是如何存储的?它是一个元组(x,y)?还是一份清单?为什么我不能用cell_value[1]调用该值
我有点不知所措,不知道如何将电子表格上的值与另一个值进行比较,从而计算出“while”循环中的差值
另外,如果我的格式有问题,请原谅我,我将非常感谢对我的代码布局或任何其他方面的批评
以下是指向我的库存表的链接:
类型错误:无序类型:str()
”- 库存工作簿中的数字实际上记录为数字
- 脚本没有查看,即,在标题处认为它包含一个数字
单元格类型==2
TypeError:“float”对象不可下标
”这完全取决于您试图访问单元格的值,就像它是一个列表一样(
cell\u value[1]
),而它不是。其后果将取决于此类单元格的内容。如果您尝试访问字符串“123”位置1中的项目,如前一示例中所示,您会得到“2”-由于这不是一个数字,而是一个字符串,因此您会得到与前一示例中相同的错误。相反,如果您尝试访问浮动123的位置1中的项目,您甚至会在之前收到一个错误,因为您无法“访问浮动项目”。OP可能还希望使用以下方法查看:
这将有助于直接连接到谷歌表单
print(' ', cell_type, ' : ', cell_value[1])
print(' ', cell_type, ' : ', cell_value[1])
TypeError: 'float' object is not subscriptable