2017-09-20 3 views
0

私は答えが見つからないopenpxylのremove_sheet()の問題に遭遇しました。私は次のコードを実行すると:私はwb.remove_sheet(0)またはwb.remove_sheet(1)が、私は同じエラーを取得しようとした場合でも、Openpyxl作成したブックからシートを正しく削除しない

ValueError: list.remove(x): x not in list 

それは動作しません:

import openpyxl 

wb = openpyxl.Workbook() 
ws = wb.create_sheet("Sheet2") 
wb.get_sheet_names() 
['Sheet','Sheet2'] 
wb.remove_sheet('Sheet')  

を私は次のエラーを取得します。私が紛失しているものはありますか?

答えて

2

remove.sheet()シートの名前ではなく、シートオブジェクトが指定されています。

だからあなたのコードを使用すると、同じ静脈では

for sheet in wb.worksheets: 
    if sheet.title == 'Sheet': 
     wb.remove_sheet(sheet) 

を試みることができる、それが実際のシートオブジェクト上で動作するので、remove_sheetも、インデックスが与えられていません。

例はgood sourceです(これは同じ問題ではありませんが、remove_sheetメソッドを正しく呼び出す方法が示されています)。

関連する問題