python - 使用python在excel中查找缺少的列标题
问题描述
我想使用python查找excel中是否存在所有必需的列名。例如:
Header1 Header2 Header3
Val1 Val4 Val6
Val2 val5 Val7
我想知道是否header4
存在
我使用以下内容:
import pandas as pd
path=C:\Req_file\excel_file
xl = pd.Excelfile(path)
for name in xl.sheet_names:
df = pd.read_excel(xl, name)
my_cols = [Header1, Header2,Header3,Header4]
print(df[my_cols])
它生成一个
键错误:[header4] 不在索引中
我想知道是否可以使用“if”语句。我想在框架上生成一条错误消息,但我只能在终端中得到。
提前非常感谢。
解决方案
如果要检查是否存在所有必需的列标题,可以使用集合,并使用数据框的columns
属性:
if set(required_columns) <= set(df.columns):
print("all required columns are there")
如果您需要查找缺少的必需列,请使用设置差异,首先使用必需的列(以便忽略其他列):
missing = set(required_columns) - set(df.columns)
并将两者结合如下:
missing = set(required_columns) - set(df.columns)
if missing:
print("Missing required columns:", missing)
推荐阅读
- arrays - 使用 Sumproduct 查找最大值
- c# - 如果不使用数据提供程序,则缺少新对象 - Audit.Net
- javascript - 替换 webpack 包中的变量而不破坏源映射和重建
- delphi - Delphi无法打开WMF文件?
- react-native - 如何将 mapStateToProps 链接到同一个 React Native 组件中的两个类
- asp.net-mvc - 使用 Razor 解析 Html 字符串
- node.js - 具有依赖对象处理程序的 AWS Lambda 函数
- python - pytest 从 python 代码调用到 TravisCI
- android - 制作像 Udacity 这样的应用程序 - 如何托管视频文件?
- xamarin.forms - Xamarin.Forms:启动活动后应用程序崩溃