Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在excel工作簿中打开和修改特定工作表_Python_Openpyxl - Fatal编程技术网

Python 在excel工作簿中打开和修改特定工作表

Python 在excel工作簿中打开和修改特定工作表,python,openpyxl,Python,Openpyxl,我正在尝试打开并格式化特定的Excel工作表。但是,我在试图找出如何查看特定工作表时遇到困难 我试图使用以下代码打开工作簿并转到特定工作表,然后更改特定单元格的字体: from openpyxl import Workbook def applyValidations(path,tabname): workbook = Workbook(path) worksheet = workbook[tabname] c = worksheet['A1:A5'] c.font = Font(si

我正在尝试打开并格式化特定的Excel工作表。但是,我在试图找出如何查看特定工作表时遇到困难

我试图使用以下代码打开工作簿并转到特定工作表,然后更改特定单元格的字体:

from openpyxl import Workbook

def applyValidations(path,tabname):
 workbook = Workbook(path)
 worksheet = workbook[tabname]
 c = worksheet['A1:A5']
 c.font = Font(size=22)
我得到的错误是:

KeyError: 'Worksheet Department Data does not exist.'

部门数据是工作簿中确实存在的工作表的名称。

以下是我在openpyxl中经常使用的一些代码,可以解决您的问题:

from openpyxl import load_workbook
wb = load_workbook(filename=data_file, read_only=True)

ws = wb.active
print(wb.sheetnames)

是否将部门数据作为字符串传递?如果是这样,则可能是区分大小写导致错误。有关可能的解决方案,请参阅此答案:使用工作簿.sheetnames获取工作簿中所有工作表的列表,并仔细检查是否有空格。查看代码,您似乎应该使用load_工作簿而不是工作簿来打开现有文件。如果是这样,则@charlecklark,我的解决方案应该是正确的。否?@YaakovBressler否,尤其是因为您选择了只读模式,问题是关于修改工作簿的。但你的回答也不能确定或解释问题。因此,这是一个糟糕的答案。