Skip to main content
 首页 » 编程设计

python 3 : Can't delete items from list; can't slice elements of a list

2025年05月04日13lyhabc

我有一个根据 Excel 工作簿工作表的名称创建的列表:

file = 'Per_6_PL.xlsx' 
wb = pd.ExcelFile(file) 
sheet_list = [wb.sheet_names] 

我可以通过以下代码看到这是一个列表:

type(sheet_list) 
list 

我想删除列表的第一个元素并使用其他元素构建循环。 当我尝试通过 del 或 .remove 方法删除列表的第一个元素时,它会删除整个列表。 .

del sheet_list[0] 
 
sheet_list 
[] 

此外,我无法从列表中切分元素,因为我返回了整个列表:

sheet_list[0:3] 
 
[['Table of Contents', 
  '07', 
  '01', 
  '01.01', 
  '13', 
  '13.01', 
  '3002', 
  '3005', 
  '3003', 
  '3004', 

...

我不确定这里发生了什么。我是 Python 的新手,不明白是什么导致了这种行为。我想要一个省略第一个元素的所有工作表名称的列表。谁能告诉我我做错了什么以及如何解决?

请您参考如下方法:

您将数据加载为嵌套列表。根据下面的 ALollz 评论:

sheet_list = [wb.sheet_names] 将 wb.sheet_names 中包含的数据加载到一个列表中,如您将其包裹在硬括号 ("[",“]”)。这意味着您将 wb.sheet_names 的列表数据加载到另一个列表中,并嵌套它们。加载为
sheet_list = wb.sheet_names 并且您的脚本无需更改即可运行。