代码最后给出一个错误,提示KeyError。但是我相信该代码是由导师编写的是正确的。
import openpyxl as xl
from openpyxl.chart import BarChart, Reference
def process_workbook(filename):
wb = xl.load_workbook(filename)
sheet = wb['Sheet1']
for row in range(2,sheet.max_row + 1):
cell = sheet.cell(row, 3)
corrected_price = cell.value * 0.9
corrected_price_cell = sheet.cell(row,4)
corrected_price_cell.value = corrected_price
values = Reference(sheet,
min_row = 2 ,
max_row = sheet.max_row,
min_col = 4,
max_col = 4)
chart = BarChart() #instance of BarChart class
chart.add_data(values)
sheet.add_chart(chart, 'e2')
wb.save(filename)
filename = 'transactions.xlsx'
work = process_workbook(filename)
C:\ Users \ bhargav \ PycharmProjects \ SelfLearning \ venv \ Scripts \ python.exe C:/Users/bhargav/PycharmProjects/SelfLearning/app.py
回溯(最近通话最近):文件 “ C:/用户/bhargav/PycharmProjects/SelfLearning/app.py”,第26行,在 工作= process_workbook(文件名)
文件“ C:/Users/bhargav/PycharmProjects/SelfLearning/app.py”,第5行, 在process_workbook中 wb = xl.load_workbook(filename)
文件 “ C:\ Users \ bhargav \ PycharmProjects \ SelfLearning \ venv \ lib \ site-packages \ openpyxl \ reader \ excel.py”, load_workbook中的第312行 reader.read()
文件 “ C:\ Users \ bhargav \ PycharmProjects \ SelfLearning \ venv \ lib \ site-packages \ openpyxl \ reader \ excel.py”, 268行,处于读取状态 self.read_manifest()
文件 “ C:\ Users \ bhargav \ PycharmProjects \ SelfLearning \ venv \ lib \ site-packages \ openpyxl \ reader \ excel.py”, read_manifest中的第136行 src = self.archive.read(ARC_CONTENT_TYPES)
文件 “ C:\ Users \ bhargav \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ zipfile.py”, 第1428行,处于读取状态 使用self.open(name,“ r”,pwd)as fp:
文件 “ C:\ Users \ bhargav \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ zipfile.py”, 1467行,处于打开状态 zinfo = self.getinfo(name)
文件 “ C:\ Users \ bhargav \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ zipfile.py”, 第1395行,在getinfo中 '存档中没有名为%r的项目'%名称)KeyError:“存档中没有名为'[Content_Types] .xml'的项目”
以退出代码1完成的过程
答案 0 :(得分:0)
检查文件“ transactions.xlsx”是否在同一文件夹中。