2016-09-23 51 views
0

openpyxlでワークシートを読み込み、get_sheet_by_nameで生成された問題Worksheet does not existが発生しました。openpyxl:ワークシートが存在しません(文字セットに関連しています)

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

from openpyxl import load_workbook 

file_workbook = 'JCR2015影响因子(所有期刊从高到低排序)+中科院分区.xlsx' 
sheet_name = '2015年JCR' 

wb = load_workbook(file_workbook, read_only=True) 
print(wb.get_sheet_names())     # [u'2015\u5e74JCR'] 

ws = wb.get_sheet_by_name(sheet_name)  # raise the error: KeyError: 'Worksheet 2015\xe5\xb9\xb4JCR does not exist.' 

'2015年JCR'u'2015\u5e74JCR''2015\xe5\xb9\xb4JCR'の違いは何ですか?どうすれば修正できますか?

答えて

2

あなたはユニコードを使用しているのpythonを指示する必要がありますように思え:

# -*- coding: utf-8 -*- 

や文字を保持しているすべての文字列をuで始まるべきである:あなたのファイルの先頭にこの宣言を追加

file_workbook = u'JCR2015影响因子(所有期刊从高到低排序)+中科院分区.xlsx'  
sheet_name = u'2015年JCR' 
+0

私は '#coding:utf-8'を使うことができると書いています。 :) –

+0

あなたは正しいです、@ Tiger-222、彼らは交換可能です。 :) –

関連する問題