openpyxl:工作表不存在(与字符集有关)

我用openpyxl加载工作表,并遇到get_sheet_by_name引发的问题Worksheet does not exist

 #!/usr/bin/env python # -*- coding: utf-8 -*- from openpyxl import load_workbook file_workbook = 'JCR2015影响因子(所有期刊从高到低sorting)+中科院分区.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''2015年JCR''2015年JCR' u'2015\u5e74JCR''2015\xe5\xb9\xb4JCR'什么不同? 我如何解决它?

好像你需要告诉python你使用的是unicode:在你的文件的顶部添加这个声明:

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

每个string都应该以u:

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