найти отсутствующий заголовок столбца в Excel с помощью Python - PullRequest
0 голосов
/ 09 октября 2018

Я хотел бы выяснить, присутствуют ли все необходимые имена столбцов в Excel с использованием Python.например:

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])

Создает

Keyerror: [header4] отсутствует в индексе

Я хотел бы знать, возможно ли это сделать с помощью оператора "if".Я хочу создать сообщение об ошибке на кадре, но я получаю только в терминале.

Заранее большое спасибо.

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Ссылка это:

In [5]: data=pd.DataFrame([["Abao","man"],["Tom","man"]],columns=["name","sex"])

In [6]: data
Out[6]: 
   name  sex
0  Abao  man
1   Tom  man

In [7]: data.columns 
Out[7]: Index(['name', 'sex'], dtype='object')

In [8]: "age" in data.columns
Out[8]: False

In [9]: "sex" in data.columns
Out[9]: True    
0 голосов
/ 09 октября 2018

Если вы хотите проверить наличие всех необходимых заголовков столбцов, вы можете использовать наборы и использовать атрибут 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...