Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 保存工作簿时出现键错误_Python_Excel_Pycharm_Save_Openpyxl - Fatal编程技术网

Python 保存工作簿时出现键错误

Python 保存工作簿时出现键错误,python,excel,pycharm,save,openpyxl,Python,Excel,Pycharm,Save,Openpyxl,文件transactions.xlsx未更新,这正是由于添加了_chart()。如果我注释掉add_chart,所有这些错误都不会出现,但我想绘制图表,这是我知道的唯一方法。transanctions2.xlsx文件已创建,但已损坏,但仍会出现大量错误 from openpyxl.chart import BarChart, Reference wb1 = xl.load_workbook('transactions.xlsx') sheet = wb1['Sheet1'] cell = sh

文件transactions.xlsx未更新,这正是由于添加了_chart()。如果我注释掉add_chart,所有这些错误都不会出现,但我想绘制图表,这是我知道的唯一方法。transanctions2.xlsx文件已创建,但已损坏,但仍会出现大量错误

from openpyxl.chart import BarChart, Reference

wb1 = xl.load_workbook('transactions.xlsx')
sheet = wb1['Sheet1']
cell = sheet.cell(1, 1)

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

wb1.save('transactions2.xlsx')
回溯(最近一次呼叫最后一次):
文件“C:/Users/Saman/PycharmProjects/Excel/Excel_edit.py”,第23行,在
wb1.save('transactions2.xlsx')
文件“C:\Users\Saman\PycharmProjects\Excel\venv\lib\site packages\openpyxl\workbook\workbook.py”,第397行,保存
保存工作簿(自身,文件名)
保存工作簿中的文件“C:\Users\Saman\PycharmProjects\Excel\venv\lib\site packages\openpyxl\writer\Excel.py”,第294行
writer.save()
文件“C:\Users\Saman\PycharmProjects\Excel\venv\lib\site packages\openpyxl\writer\Excel.py”,第276行,保存
self.write_data()
文件“C:\Users\Saman\PycharmProjects\Excel\venv\lib\site packages\openpyxl\writer\Excel.py”,第76行,写入数据
自己写工作表()
文件“C:\Users\Saman\PycharmProjects\Excel\venv\lib\site packages\openpyxl\writer\Excel.py”,第219行,在工作表中
自写图纸(ws.\U图纸)
文件“C:\Users\Saman\PycharmProjects\Excel\venv\lib\site packages\openpyxl\writer\Excel.py”,第142行,在“编写”图形中
self.\u archive.writestr(drawing.path[1:],tostring(drawing.\u write())
文件“C:\Users\Saman\PycharmProjects\Excel\venv\lib\site packages\openpyxl\drawing\spreadsheet\u drawing.py”,第283行,以书面形式
锚定=检查锚定(obj)
文件“C:\Users\Saman\PycharmProjects\Excel\venv\lib\site packages\openpyxl\drawing\spreadsheet\u drawing.py”,第224行,在检查锚定中
行,列=坐标到元组(锚定)
文件“C:\Users\Saman\PycharmProjects\Excel\venv\lib\site packages\openpyxl\utils\cell.py”,第201行,在坐标到元组中
返回int(行),\u列\u字符串\u缓存[COL]
键错误:“f”

命名列时,大小写很重要-具体来说,它们是大写的:

sheet.add_chart(chart, 'F2')
我把
f
改为
f

只是为了加起来

查看他们的

你应该用大写字母

sheet.add_chart(chart, 'F2')

万分感谢并向你祈祷你刚刚解决了我的问题我为此度过了一个不眠之夜我正在学习python,我知道这个错误有多愚蠢。很抱歉为这样一个愚蠢的错误浪费你的时间
sheet.add_chart(chart, 'F2')