Я следовал руководству по созданию очень простого сценария для редактирования и xlsx через pycharm и создания диаграммы, но получаю сообщение об ошибке, которое не позволяет мне сохранить файл.
Я абсолютный новичок, поэтому не уверен, где ошибка в моем коде.
import openpyxl as xl
from openpyxl.chart import BarChart, Reference
wb = xl.load_workbook('transactions.xlsx')
sheet = wb['Sheet1']
cell = sheet['a1']
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()
chart.add_data(values)
sheet.add_chart(chart, 'e2')
wb.save('transactions2.xlsx')
Я ожидал получить новый файл xlsx с некоторыми новыми значениями в столбце 4, затем базовую гистограмму в ячейке e2 со значениями из столбца 4.
То, что я получаю, это сбой - он создает файл, но он не может открыть и много ошибок в pycharm.
Traceback (most recent call last):
File "C:/Users/DIRECTOR/PycharmProjects/HelloWorld/app.py", line 30, in <module>
wb.save('transactions3.xlsx') #to save
File "C:\Users\DIRECTOR\PycharmProjects\HelloWorld\venv\lib\site-packages\openpyxl\workbook\workbook.py", line 397, in save
save_workbook(self, filename)
File "C:\Users\DIRECTOR\PycharmProjects\HelloWorld\venv\lib\site-packages\openpyxl\writer\excel.py", line 294, in save_workbook
writer.save()
File "C:\Users\DIRECTOR\PycharmProjects\HelloWorld\venv\lib\site-packages\openpyxl\writer\excel.py", line 276, in save
self.write_data()
File "C:\Users\DIRECTOR\PycharmProjects\HelloWorld\venv\lib\site-packages\openpyxl\writer\excel.py", line 76, in write_data
self._write_worksheets()
File "C:\Users\DIRECTOR\PycharmProjects\HelloWorld\venv\lib\site-packages\openpyxl\writer\excel.py", line 219, in _write_worksheets
self._write_drawing(ws._drawing)
File "C:\Users\DIRECTOR\PycharmProjects\HelloWorld\venv\lib\site-packages\openpyxl\writer\excel.py", line 142, in _write_drawing
self._archive.writestr(drawing.path[1:], tostring(drawing._write()))
File "C:\Users\DIRECTOR\PycharmProjects\HelloWorld\venv\lib\site-packages\openpyxl\drawing\spreadsheet_drawing.py", line 283, in _write
anchor = _check_anchor(obj)
File "C:\Users\DIRECTOR\PycharmProjects\HelloWorld\venv\lib\site-packages\openpyxl\drawing\spreadsheet_drawing.py", line 224, in _check_anchor
row, col = coordinate_to_tuple(anchor)
File "C:\Users\DIRECTOR\PycharmProjects\HelloWorld\venv\lib\site-packages\openpyxl\utils\cell.py", line 201, in coordinate_to_tuple
return int(row), _COL_STRING_CACHE[col]
KeyError: 'e'
Process finished with exit code 1