Joh*_*nta 6 python excel pandas
我对熊猫不熟悉,所以我不知道这是否是一个愚蠢的问题。
我怎样才能使 if 语句检测到空白单元格并运行代码(如果为真)。
前任。
if (blank_cell_found):
execute_code
Run Code Online (Sandbox Code Playgroud)
我尝试使用 if cell is None 但我没有从 if 语句中得到响应。
我使用数组来存储 pandas 列,我知道可能有更好的方法来做到这一点,但就像我说的,我对此很陌生。
假设我的 Excel 工作表如下所示:
A B
Name1 LastName1
Name2
Name3 LastName3
Name4 LastName4
Run Code Online (Sandbox Code Playgroud)
我的代码:
xls = pd.ExcelFile('File.xlsx')
df = pd.read_excel(xls, 'Sheet1')
LastName = df['B'].values
for Array in LastName:
if Array is None:
print('Cell is empty')
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我希望在控制台中得到响应,但没有得到任何响应。
我尝试Array == ""看看Array == LastName[1]是否能得到任何信息,但仍然没有回应。
如果有一种更简单的方法来做到这一点,也将不胜感激。
根据评论,如果有空单元格(即在 pandas 中),OP 希望删除行NaN。
使用OP示例数据的修改版本(注意我添加了最后一行,其中列A也有空单元格):
print(df)
A B
0 Name1 LastName1
1 Name2
2 Name3 LastName3
3 Name4 LastName4
4 LastName5
Run Code Online (Sandbox Code Playgroud)
如果任何相应的列有空单元格,则使用df.dropna()将删除任何行:
A B
0 Name1 LastName1
2 Name3 LastName3 <<< row 1 is dropped
3 Name4 LastName4 <<< row 4 is dropped
Run Code Online (Sandbox Code Playgroud)
仅当列有空单元格时,使用df.dropna(subset=['B'])才会下降:B
A B
0 Name1 LastName1
2 Name3 LastName3 <<< row 1 is dropped since (2, 'B') was empty
3 Name4 LastName4
4 NaN LastName5 <<< row 4 is not dropped since dropna is only looking at 'B'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4863 次 |
| 最近记录: |