如何修复现有的xlsx文件的pycharm非常基本的xlsx编辑并创建图表错误?

时间:2019-07-03 00:46:11

标签: python excel python-3.x xlsx

我遵循了一个指南,该指南创建了一个非常基本的脚本以通过pycharm进行编辑和xlsx,并创建了图表,但出现了一个错误,该错误使我无法保存文件。

我是一个绝对的初学者,所以不确定我的代码中的错误在哪里。

    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')

我希望在第4列中获得一个带有一些新值的新xlsx文件,然后在单元格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

0 个答案:

没有答案