如何在Python中读取不同名称的excel工作表

如何在Python中读取不同名称的excel工作表,python,python-3.x,excel,pandas,dataframe,Python,Python 3.x,Excel,Pandas,Dataframe,我是python新手,目前正试图通过阅读大约20个电子表格中的特定表格来创建数据框架。然而,有些电子表格与我想从中获取数据的选项卡名称不同 我知道标签名为“A”或“AA” 我想知道是否有一种方法可以在pandas read_excel中传递这两个名称,因为在某些表格中名称不同。我基本上是在寻找类似的东西 df = pd.read_excel('file.xlsx', sheet_name = 'A' or 'AA') 如果我用or传递这两个名称,它将返回一个错误。read_excel函数是否有

我是python新手,目前正试图通过阅读大约20个电子表格中的特定表格来创建数据框架。然而,有些电子表格与我想从中获取数据的选项卡名称不同

我知道标签名为“A”或“AA”

我想知道是否有一种方法可以在pandas read_excel中传递这两个名称,因为在某些表格中名称不同。我基本上是在寻找类似的东西

df = pd.read_excel('file.xlsx', sheet_name = 'A' or 'AA')
如果我用or传递这两个名称,它将返回一个错误。read_excel函数是否有方法从excel文件中名为“a”或“AA”的工作表中获取数据

谢谢。

您可以使用该方法,首先尝试打开工作表
A
,如果失败,请尝试打开工作表
AA

try:
    df = pd.read_excel('file.xlsx', 'A')
except:
    df = pd.read_excel('file.xlsx', 'AA')
如果工作簿既有
a
又有
AA
工作表名,或者工作簿既没有工作表名也没有工作表名,这将不会产生预期的结果。

您可以使用该方法,首先尝试打开工作表
a
,如果失败,则尝试打开工作表
AA

try:
    df = pd.read_excel('file.xlsx', 'A')
except:
    df = pd.read_excel('file.xlsx', 'AA')

如果有一个工作簿同时具有
a
AA
工作表名,或者有一个工作簿没有任何一个工作表名,那么这将不会产生预期的结果。

请尝试看看这是否有效:

# this reads in the data and allows access to the sheet names
# also memory efficient
xls = pd.ExcelFile('path_to_file.xls')

# iterate to find sheet name that matches 
data = pd.read_excel(xls, sheet_name = [name for name in xls.sheet_names
                                        if name in ('A','AA')])

试试看这是否有效:

# this reads in the data and allows access to the sheet names
# also memory efficient
xls = pd.ExcelFile('path_to_file.xls')

# iterate to find sheet name that matches 
data = pd.read_excel(xls, sheet_name = [name for name in xls.sheet_names
                                        if name in ('A','AA')])

操作符对布尔函数的处理方式完全不同

试试这个

try:
    df = pd.read_excel('file.xlsx', sheet_name='A')
except:
    df = pd.read_excel('file.xlsx', sheet_name='AA')

这将尝试打开一个名为“a”的工作表,如果没有,并且pandas抛出错误,它将打开名为“AA”的工作表。或
运算符对布尔值执行完全不同的操作

试试这个

try:
    df = pd.read_excel('file.xlsx', sheet_name='A')
except:
    df = pd.read_excel('file.xlsx', sheet_name='AA')

这将尝试打开一个名为“a”的工作表,如果没有,并且pandas抛出错误,它将打开名为“AA”的工作表。

我不使用python,但我想逻辑是从excel文件中获取工作表名称,然后检查它是否有“a”或“AA”,然后传递该名称?看看是否能让你开始。这些工作表中每个都只包含一个选项卡吗?您是否可以使用索引名称,如
pd.read\u excel('file.xlsx',sheet\u name=0)
我不使用python,但我想逻辑应该是从excel文件中获取工作表名称,然后检查它是否有“A”或“AA”,然后传递该名称?看看是否能让你开始。这些工作表中每个都只包含一个选项卡吗?您是否可以使用索引名称,如
pd.read\u excel('file.xlsx',sheet\u name=0)
我建议将
设置为“除
捕获特定异常之外”。这太宽泛了。我建议让
except
捕获特定的异常。太宽了。