当前位置:嗨网首页>书籍在线阅读

22-第2步_检查所有行,更新不正确的价格

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

第2步:检查所有行,更新不正确的价格

程序的下一部分将循环遍历电子表格中的所有行。将下面代码添加到updateProduce.py的末尾:

  #! python3
  # updateProduce.py - Corrects costs in produce sales spreadsheet.
  --snip--
 # Loop through the rows and update the prices.
❶ for rowNum in range(2, sheet.max_row): # skip the first row
 ❷ produceName = sheet.cell(row=rowNum, column=1).value
 ❸ if produceName in PRICE_UPDATES:
 sheet.cell(row=rowNum, column=2).value = PRICE_UPDATES[produceName]
❹ wb.save('updatedProduceSales.xlsx')

我们从第2行开始循环遍历,因为第1行是表头❶。第1列的单元格(即列A)将保存在变量 produceName 中❷。如果 produceName 的值是 PRICEUPDATES 字典中的一个键❸,那你就知道,这行的价格必须修改。正确的价格是 PRICE UPDATES[produceName]

请注意,使用 PRICE_UPDATES 让代码变得很简洁。只需要一条 if 语句,而不是像 if produceName == 'Garlic' 这样的代码,就能够更新所有类型的产品。因为代码没有硬编码产品名称,而是使用 PRICE_UPDATES 字典,在 for 循环中更新价格,所以如果产品销售电子表格需要进一步修改,那你只需要修改 PRICE_UPDATES 字典即可,不用修改其他代码。

在遍历整个电子表格并进行修改后,代码将 Workbook 对象保存到 updatedProduceSales. xlsx ❹。它没有覆写原来的电子表格,以防程序有bug将电子表格改错。在确认修改的电子表格正确后,你可以删除原来的电子表格。

你可以从异步社区本书对应页面下载这个程序的完整源代码。