Python 如何在Excel表格的单元格中查找特定单词的频率

Python 如何在Excel表格的单元格中查找特定单词的频率

在本文中,我们将向您展示如何使用Python在给定的Excel文件的单元格中找到特定单词的频率(单词出现的次数)。

假设我们已经拿到一个名为 TutorialsPoint.xlsx 的Excel文件,里面包含一些随机数据。我们将返回给定Excel文件中单元格中给定单词的频率。

sampleTutorialsPoint.xlsx

选手姓名 年龄 类型 国家 队伍 得分 篮子
Virat Kohli 击球手 印度 Royal Challengers Bangalore 20
34 击球手 印度 Sun Risers Hyderabad 333 140
Mahendra Singh Dhoni 39 击球手 印度 Chennai Super Kings 0
Rashid Khan 投球手 古吉拉特泰坦斯 500 130
哈迪克·潘迪亚 29 全能选手 古吉拉特泰坦斯 2400 85
大卫·华纳 34 打击手 澳大利亚 5500 12
基隆·波拉德 35 全能选手 西印度群岛 孟买印度人 0 67
罗希特·夏尔玛 33 打击手 印度 孟买印度人 5456 20
凯恩·威廉姆森 33 打击手 太阳升海得拉巴 3222 5
卡吉索·拉巴达 29 玩家 南非 勒克瑙首都队 335 1

步骤

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

  • 使用import关键字导入 xlrd 模块(使用xlrd模块读取电子表格数据。它具有读取、写入和修改数据的能力。此外,用户可能需要根据特定条件遍历多个工作表来获取数据,或者修改特定的行和列等。使用xlrd模块从电子表格中提取数据。Python xlrd软件包(可以在Pypi上找到)允许用户读取扩展名为“.xls”或“.xlsx”的Excel文件)。

  • 输入要查找其频率的单词。

  • 创建一个变量来存储给定单词重复的次数,即单词的频率。

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

  • 为了创建/打开工作簿,将输入文件作为参数传递给xlrd模块的 open_workbook() 函数(打开一个工作簿)。

  • 使用 sheet_by_index() 函数(打开具有特定索引的工作表),通过向其传递索引值作为参数来打开上述工作簿中所需的工作表。这里的0表示第一个工作表。

firstWorksheet=new_workbook.sheet_by_index(0)
  • 使用for循环遍历工作表的所有行。使用 nrows属性 获取总行数。

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

  • 使用if条件语句和 cell_value()函数 ,检查每个单元格的值是否等于给定的特定单词。

  • 如果单元格的值等于给定的单词,将频率计数加1。

  • 打印给定单词的频率计数,即该单词重复的次数。

示例

以下程序检查Excel文件中的每个单元格值是否等于指定的单词,并打印输入单词的频率计数-

import xlrd
givenWord =input("Enter some random word = ")

# storing the frequency of the given word in a variable
frequency_count =0

# input excel file path
inputExcelFile ="sampleTutorialsPoint.xlsx"

# Creating a workbook
new_workbook=xlrd.open_workbook(inputExcelFile)

# Opening the first worksheet in the workbook
firstWorksheet=new_workbook.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_col in range (firstWorksheet.ncols):

      # Checking whether each cell value is equal to the given word
      if(firstWorksheet.cell_value(each_row, each_col)==givenWord):

         # Incrementing the frequency count by 1
         frequency_count= frequency_count+1

# Printing count of the given word frequency
print("The frequency count of the given word {",givenWord,"} = ", frequency_count)

输出

执行上面的程序将生成以下输出 –

Enter some random word = India
The frequency count of the given word { India } = 5

在我们的程序中,我们使用了一个带有虚拟数据的示例Excel文件。我们使用一个变量来存储单词的频率,然后利用for循环逐个遍历Excel文件的单元格,检查单元格的值是否等于该单词,如果是,则增加频率,最后打印出单词的频率值。

结论

我们学会了如何利用xlrd模块从Excel文件创建工作簿并从选定的表格中创建工作表。我们还学会了如何逐个遍历Excel文件的单元格,并将单元格值与一些随机的字符串/值进行比较。我们学会了如何计算Excel文件中单词的频率,这在许多情况下非常有用,例如确定用户在文档中出现的次数、按类别过滤Excel文件等。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程