如何在Python中读取不同名称的excel工作表
我是python新手,目前正试图通过阅读大约20个电子表格中的特定表格来创建数据框架。然而,有些电子表格与我想从中获取数据的选项卡名称不同 我知道标签名为“A”或“AA” 我想知道是否有一种方法可以在pandas read_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函数是否有
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
捕获特定的异常。太宽了。