名称未在for循环中定义

时间:2019-07-04 23:40:19

标签: pandas

我有一个包含4张纸的excel文件,我想将前三张纸分配给不同的数据框。我在运行以下代码时遇到NameError。怎么解决?

import pandas as pd 

for i in range(0,3):
    example[i] = pd.read_excel('filename.xlsx',sheet_name = i)                         
  

NameError:名称“示例”未定义

1 个答案:

答案 0 :(得分:2)

这不是熊猫特有的问题,而是一般的python问题。 您访问了之前未定义的变量示例。当您执行example [i] =时,它不是隐式创建的(实际上,解释器可能不知道示例应该是哪种对象,它也可能是字典)。 以下应该起作用(至少在使用索引找到工作表的情况下):

example= list()
for i in range(3): 
    example.append(pd.read_excel('filename.xlsx',sheet_name = i))

在这里,通过分配变量示例来创建变量示例。在循环中,将DataFrames附加到示例列表中。

甚至:

example= [pd.read_excel('filename.xlsx',sheet_name = i) for i in range(3)]

这称为列表理解。结果与第一种方法相同。它只是短一点,许多python专家都喜欢这种东西。 我建议您寻找python教程。在这里您可以找到some recommended个教程。您会很快赶上它。

相关问题