如何使用Python获取行为空白的Excel的列名

在Excel工作表中存在的多列中,需要从Excel工作表中找出每一行的特定列的名称,并在不同的列中输入列的名称。如果列中没有任何空白值,则将其写为无间隙。

输入数据:

col1    col2   col3   col4   col5   col6   Result
AB       BC     CD     EF     GH     IJ
AN       AP            AR     AS     AT
BP              BQ     BR            BT
BZ       BY                   BX     BW
CP       CQ     CR     CS

预期输出:

Result

No Gaps  
col3 is not available
col2, col5 not available 
col3, col4 not available
col5, col6 not available

到目前为止我尝试过的脚本:

if (df['col1'] || df['col2'] || df['col3'] || df['col4'] || df['col5'] || df['col6']).empty != True:
    df['Result']= "No Gaps"
else:
    df['Result']=

我不知道如何遍历列的每一行并获取 ['Results'] 列中写入的空白行的列名,以 ,

回答

使用df.dotnp.where和一些字符串添加可以实现这一点。

注意: 如果Result您的 df 中已存在列,请先将其删除

如果您的空白是空白字符串,您可以执行以下操作:

u = df.eq('').dot(df.columns+",").str.rstrip(",")
out = df.assign(Result=np.where(u.ne(''),u.add(" not available"),"No Gaps"))

如果他们是nan

u = df.isna().dot(df.columns+",").str.rstrip(",")
out = df.assign(Result=np.where(u.ne(''),u.add(" not available"),"No Gaps"))

print(out)

  col1 col2 col3 col4 col5 col6                   Result
0   AB   BC   CD   EF   GH   IJ                  No Gaps
1   AN   AP  NaN   AR   AS   AT       col3 not available
2   BP  NaN   BQ   BR  NaN   BT  col2,col5 not available
3   BZ   BY  NaN  NaN   BX   BW  col3,col4 not available
4   CP   CQ   CR   CS  NaN  NaN  col5,col6 not available


以上是如何使用Python获取行为空白的Excel的列名的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>