python中具体sheet中如何使用openpyxl修改数据
How to use openpyxl to modify data in specific sheet in python
我目前正在使用 openpyxl 库修改 excel 中的数据。我的 excel 有很多 sheet,我可以为第一个 sheet 做。但是,当我试图修改另一个时,它不起作用并且会破坏文件(我无法再次打开 excel。)
这是我第一次 sheet,
的做法
from openpyxl import load_workbook;
book = load_workbook('Template.xlsx')
sheet = book.active #active means get the first sheet
sheet['A1']= 100
book.save('Template.xlsx')
但是,它对另一个不起作用
sheet2 = book.get_sheet_by_name('Table 2')
sheet2['F9'] = 100
book.save('Template.xlsx')
AttributeError: 'NoneType' 对象没有属性 'read'
解释:get_sheet_by_name 与另一个问题中的 get_sheet_name 不同。
有人知道如何解决这个问题吗?非常感谢!
您实际上已经非常接近解决方案了。
到目前为止还不错:
from openpyxl import load_workbook
book = load_workbook('Template.xlsx')
sheet = book.active #active means last opened sheet
sheet['A1']= 100
book.save('Template.xlsx')
要更改为另一个 sheet,您需要通过其名称来调用它:
sheet2 = book['Sheet 2']
sheet2['F9'] = 100
book.save('Template.xlsx')
我目前正在使用 openpyxl 库修改 excel 中的数据。我的 excel 有很多 sheet,我可以为第一个 sheet 做。但是,当我试图修改另一个时,它不起作用并且会破坏文件(我无法再次打开 excel。)
这是我第一次 sheet,
的做法from openpyxl import load_workbook;
book = load_workbook('Template.xlsx')
sheet = book.active #active means get the first sheet
sheet['A1']= 100
book.save('Template.xlsx')
但是,它对另一个不起作用
sheet2 = book.get_sheet_by_name('Table 2')
sheet2['F9'] = 100
book.save('Template.xlsx')
AttributeError: 'NoneType' 对象没有属性 'read'
解释:get_sheet_by_name 与另一个问题中的 get_sheet_name 不同。
有人知道如何解决这个问题吗?非常感谢!
您实际上已经非常接近解决方案了。 到目前为止还不错:
from openpyxl import load_workbook
book = load_workbook('Template.xlsx')
sheet = book.active #active means last opened sheet
sheet['A1']= 100
book.save('Template.xlsx')
要更改为另一个 sheet,您需要通过其名称来调用它:
sheet2 = book['Sheet 2']
sheet2['F9'] = 100
book.save('Template.xlsx')