python - 在 Excel 中使用 Pandas (Python) 循环遍历多个工作表以返回列表中的值出现在列中的所有行
问题描述
我有一个值列表,如果它们出现在“书籍”列中,我希望返回该行。我想我已经用下面的代码实现了这一点:
def return_Row():
file = 'TheFile.xls'
df = pd.read_excel(file)
listOfValues = ['A','B','C']
return(df.loc[df['Column'].isin(listOfValues)])
目前这似乎只适用于第一个工作表,因为“TheFile.xls”中有多个工作表我将如何遍历这些工作表以返回在所有其他工作表的“书籍”列中找到 listOfValues 的任何行?
任何帮助将不胜感激。
谢谢
解决方案
问题是,pd.read_excel()
仅当您未指定sheet_name
参数时才返回第一张工作表的数据框。如果要在不指定名称的情况下获取 excel 文件中的所有工作表,可以传递None
如下sheet_name
:
df = pd.read_excel(file, sheet_name=None)
这将为每个工作表提供不同的数据框,您可以在其上循环并做任何您想做的事情。例如,您可以将所需的结果附加到列表并返回列表:
def return_Row():
file = 'TheFile.xls'
results = []
dfs = pd.read_excel(file, sheet_name=None)
listOfValues = ['A','B','C']
for df in dfs.values():
results.append(df.loc[df['Column'].isin(listOfValues)])
return(results)
推荐阅读
- c++ - 如何将此目录“engine\\..\\..\\NewFolder”转换为绝对目录(C++ Window)
- c# - 如何更改 Dnlib 中的字段布尔值?
- python - scikit-learn RandomForestClassifier 怀疑过拟合二元分类玩具问题
- javascript - jquery html页面正文发送邮件
- python - 有没有办法在 python 中为参与者组织者建立一个共现(频率)矩阵?
- node.js - 如何导航承诺?
- reactjs - React useEffect Hook 抱怨缺少依赖
- arrays - 如果我要将多个列中的值与命名范围内的对应值进行比较,应该使用哪个公式?
- sql - 添加一列,该列是多个其他列的总和
- python - TPU和GPU的结果不同