如何使用 Python 查詢 Excel 表格單元格中特定單詞的出現頻率?
在本文中,我們將向您展示如何使用 Python 查詢給定 Excel 檔案單元格中特定單詞的出現頻率(單詞出現的次數)。
假設我們有一個名為 TutorialsPoint.xlsx 的 Excel 檔案,其中包含一些隨機資料。我們將返回給定 Excel 檔案單元格中給定單詞的頻率。
sampleTutorialsPoint.xlsx
| 球員姓名 | 年齡 | 型別 | 國家 | 隊伍 | 得分 | 擊球次數 |
|---|---|---|---|---|---|---|
| Virat Kohli | 擊球手 | 印度 | 皇家挑戰者班加羅爾 | 20 | ||
| 34 | 擊球手 | 印度 | 太陽昇起海德拉巴 | 333 | 140 | |
| Mahendra Singh Dhoni | 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 模組從電子表格中提取資料。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 檔案等。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP