openpyxl 获取到了已经删除的sheet
时间: 2024-10-20 07:15:51 浏览: 21
当你使用`openpyxl`库来操作Excel文件时,如果某个工作表已经被从原始文件中删除,而之后尝试通过`load_workbook()`加载并访问这个已删除的工作表,可能会遇到`IndexError`或`KeyError`,因为`Workbook`对象不再包含那个特定的工作表。
如果你试图获取一个不存在的工作表,代码会抛出异常,类似于这样:
```python
from openpyxl import load_workbook
# 假设ws是我们想要的已删除的工作表名
wb = load_workbook('example.xlsx')
ws = wb['ws_name'] # 这里会引发错误,因为 ws_name 已经不存在
try:
data = ws.values
except KeyError as e:
print(f"工作表 '{ws_name}' 不存在: {e}")
```
在这种情况下,你可以检查`workbook.sheetnames`来确认工作表是否还在,或者处理可能出现的异常。如果你确实需要处理这种情况,可以添加适当的错误检查:
```python
if 'ws_name' in wb.sheetnames:
ws = wb['ws_name']
else:
print("工作表已被删除")
```
相关问题
python openpyxl获取excel sheet名称
根据引用\[1\]中的代码,可以使用openpyxl库来获取Excel表中的所有sheet名称。首先,需要导入openpyxl库并加载Excel文件。然后,使用`workbook.sheetnames`属性获取所有sheet的名称。以下是一个示例代码:
```python
import openpyxl
# 加载Excel文件
workbook = openpyxl.load_workbook('your_file.xlsx')
# 获取所有sheet的名称
sheet_names = workbook.sheetnames
# 打印sheet名称
for name in sheet_names:
print(name)
```
这段代码将打印出Excel文件中所有sheet的名称。你可以将`your_file.xlsx`替换为你的实际文件路径。
#### 引用[.reference_title]
- *1* [python 使用openpyxl获取 Excel 数据,进行拼接返回](https://blog.csdn.net/m0_65883616/article/details/125908048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [【实践2】Python openpyxl获取Excel所有表名,删除Excel内指定工作表(判断是否存在某个sheet,存在即删除)](https://blog.csdn.net/weixin_44127624/article/details/125385674)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [python_通过openpyxl读写Excel](https://blog.csdn.net/qq_45664055/article/details/128447515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
openpyxl 创建新的sheet
使用openpyxl库创建新的sheet可以通过以下步骤实现:
1. 首先导入openpyxl库:`from openpyxl import Workbook`
2. 创建一个Workbook对象:`wb = Workbook()`
3. 使用create_sheet方法创建新的sheet,并指定名称和位置(下标):`ws = wb.create_sheet("Sheet1", 0)`
4. 可以使用ws.title属性来获取新创建的sheet的名称:`print(ws.title)`
5. 最后保存工作簿到硬盘:`wb.save("./test.xlsx")`
这样就可以创建一个新的sheet并保存到指定的Excel文件中。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* [【openpyxl】操作工作表(创建、改名、移动、复制、删除)](https://blog.csdn.net/qq_39147299/article/details/123346804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [【openpyxl】工作表的简单操作(创建、打开、改名、移动、复制、删除)](https://blog.csdn.net/yuxd77/article/details/130663596)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Python自动化办公(用openpyxl操作excel表格)](https://blog.csdn.net/m0_58239511/article/details/126640931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文