使用 openpyxl 将数据写入 Excel-Sheet 不起作用

新手上路,请多包涵

使用 openpyxl ,我试图从 Excel 工作簿读取数据并将数据写入同一 Excel 工作簿。从 Excel-Workbook 获取数据工作正常,但将数据写入 Excel-Workbook 不起作用。使用下面的代码,我从 Cell A1 中获取值 Sheet1 并打印出来。然后我尝试将一些值放入单元格 A2A3 。这是行不通的。

 from openpyxl import Workbook
from openpyxl import load_workbook

wb = load_workbook("testexcel.xlsm")
ws1 = wb.get_sheet_by_name("Sheet1")

#This works:
print ws1.cell(row=1, column=1).value

#This doesn't work:
ws1['A2'] = "SomeValue1"

#This doesn't work either:
ws1.cell(row=3, column=1).value = "SomeValue2"

我确定代码是正确的……这里出了什么问题?

原文由 steady_progress 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 949
2 个回答

我相信您缺少保存功能。尝试在下面添加附加行。

 from openpyxl import Workbook
from openpyxl import load_workbook

wb = load_workbook("testexcel.xlsm")
ws1 = wb.get_sheet_by_name("Sheet1")

#This works:
print ws1.cell(row=1, column=1).value

#This doesn't work:
ws1['A2'] = "SomeValue1"

#This doesn't work either:
ws1.cell(row=3, column=1).value = "SomeValue2"

#Add this line
wb.save("testexcel.xlsm")

原文由 Woodsy 发布,翻译遵循 CC BY-SA 3.0 许可协议

用它来写一个值:

 ws1.cell(row=1, column=1,value='Hey')

另一方面,以下将读取值:

 ws1.cell(row=1, column=1).value

原文由 Abul 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题