Python统计单词出现频率

import xlrd

def count_frequency(file_path, sheet_name, field):
    wb = xlrd.open_workbook(file_path)
    sheet = wb.sheet_by_name(sheet_name)
    
    head_line = sheet.row_values(0)
    for j in range(len(head_line)):
        if head_line[j] == field:
            target_col = sheet.col_values(j)
            break
            
    frequency = {}
    for i in range(1, sheet.nrows):
        words = target_col[i].split(' ')
        for k in range(len(words)):
            if words[k] in frequency.keys():
                frequency[words[k]] = frequency[words[k]] + 1
            else:
                frequency[words[k]] = 1
     
    ordered_frequency = sorted(frequency.items(), key=lambda x:x[1], reverse=True)
    # print(ordered_frequency)
    for i in range(len(ordered_frequency)):
        print(ordered_frequency[i])

if __name__ == '__main__':
    file_path = 'D:\\111用户共享\\智能诊断数据集.xlsx'
    count_frequency(file_path, '智能诊断数据集', 'symptom')

你可能感兴趣的:(Python,python)