如何使用Python查找Excel表格中空白和非空白单元格的数量?


在本文中,我们将向您展示如何使用python查找excel工作表中空白和非空白(已填充)单元格的数量。

假设我们有一个名为**demoTutorialsPoint.xlsx**的excel文件,其中包含一些随机数据和一些**空白**单元格。我们将返回excel工作表中空白和非空白(已填充)单元格的数量。

sampleTutorialsPoint.xlsx

运动员姓名 年龄 类型 国家 队伍 得分 wicket数
Virat Kohli 击球手 印度 皇家挑战者班加罗尔 20
34 击球手 印度 新升太阳海德拉巴 333 140
马亨德拉·辛格·多尼 39 击球手 印度 钦奈超级国王 0
Rashid Khan 投球手 古吉拉特巨人 500 130
Hardik Pandya 29 全能选手 古吉拉特巨人 2400 85
David Warner 34 击球手 澳大利亚 5500 12
Kieron Pollard 35 全能选手 西印度群岛 孟买印第安人 0 67
Rohit Sharma 33 击球手 印度 孟买印第安人 5456 20
Kane Williamson 33 击球手 新升太阳海德拉巴 3222 5
Kagiso Rabada 29 投球手 南非 勒克瑙首都 335 1

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 使用import关键字导入**xlrd模块**(要读取电子表格中的数据,请使用xlrd模块。它具有读取、写入和更改数据的能力。此外,用户可能需要遍历多个工作表来根据某些条件获取数据,或者更改特定的行和列等等。使用xlrd模块从电子表格中提取数据)。

pip install xlrd
  • 创建一个变量来存储excel表中存在的空单元格的数量。

  • 创建另一个变量来存储excel表中存在的非空单元格的数量。

  • 将两个计数变量初始化为0。

  • 创建一个变量来存储输入excel文件的路径。

  • 要创建工作簿对象,请将输入excel文件传递给xlrd模块的**open_workbook()**函数(打开工作簿)。

  • 使用**sheet_by_index()**方法(打开具有特定索引的工作表),打开给定工作簿中的第一个工作表(这里0代表第一个工作表)。

  • 使用for循环遍历工作表的所有行。**nrows**属性用于获取总行数。

  • 使用嵌套的for循环,使用另一个嵌套的for循环遍历工作表的所有列。**ncols**属性用于获取总列数。

  • 使用**cell_value()**函数(给出指定行和列中单元格的值)和if条件语句,确定单元格是否为空。

  • 如果单元格为空,则将空单元格计数加1。

  • 否则,将非空单元格计数加1。

  • 打印在给定的输入excel文件中找到的空单元格的数量。

  • 打印在给定的输入excel文件中找到的非空单元格的数量。

示例

下面的程序打印在给定的输入excel文件中找到的空白和非空白单元格的数量:

import xlrd # storing the count of Empty cells emptyCells=0 # storing the count of Non-empty cells nonEmptycells=0 # input excel file path inputExcelFile ="sampleTutorialsPoint.xlsx" # creating a workbook newWorkbook =xlrd.open_workbook(inputExcelFile) # creating a first worksheet firstWorksheet=newWorkbook.sheet_by_index(0) # Traversing in all the rows of the worksheet # (nrows is used to get the number of rows) for each_row in range (firstWorksheet.nrows): # Traversing in all the columns of the worksheet # (ncols is used to get the number of columns) for each_column in range (firstWorksheet.ncols) : # Checking whether the cell is a blank cell if (firstWorksheet.cell_value(each_row, each_column)==""): # Incrementing empty cells count by 1, if it is a blank cell emptyCells+=1 else : # Else Incrementing Non-empty cells count by 1 nonEmptycells+=1 # Printing the count of empty cells print("Empty cells count = ", emptyCells) # Printing the count of Non-empty cells print("Non-empty cells count = ", nonEmptycells)

输出

执行上述程序将生成以下输出:

Empty cells count = 10
Non-empty cells count = 67

我们在程序中使用了包含一些虚拟数据的示例excel文件。excel文件包含一些空白单元格。我们使用两个变量来计算空单元格和非空单元格的数量,并使用for循环逐个单元格遍历excel文件,检查它是否为空单元格,并打印空单元格和非空单元格的数量。

结论

我们学习了如何使用xlrd模块将excel文件作为工作簿获取,并将指定的工作表作为工作表获取。我们还学习了如何逐个单元格遍历excel文件以及如何使用cell value()函数获取单元格的值。

更新于:2022年8月18日

2K+浏览量

启动您的职业生涯

通过完成课程获得认证

开始学习
广告