学习-python-办公自动化-统计excel里文本中每个单词出现频次

近期,我一个做外贸方面的一个朋友问我会不会VBA,他要从一堆类似PUMA womem's shoes这样的词条里,统计每个单词出现的次数,当时我就想,这个python可以解决,但是我不会,哈哈哈。昨晚研究了几个小时,终于被我弄出来了。我先简单建个实验表

 然后写代码吧,引入几个库,实际好像就用了openpyxl

import os
#from openpyxl import load_workbook
from openpyxl import *
import pandas as pd

 加载表格,引用指定sheet页(例如:结果),参考的代码get_sheet_name等好像已经过时了,搜了新的,代码简化了一些,将sheet页里的单元格ceil一一提取,并用split分割放进一个列表里(look_up_table_row_start是sheet里起始行,下面的32只要比你实际数据行数多就可以,if函数筛选了none)

使用set对列表去重,再将里面的值i,在初始列表里的次数name_.count(i)写入指定单元格,使用sheet.ceil(row,col,value),最后记得保存,sheet.save(**.xlsx)。

list2 = list(set(name_))
k = 2
for i in list2:
    #a = list_x.append(i) 
    #b = list_y.append(name_.count(i))    #将关键词和次数分别放入列表
    look_up_table_sheet.cell(k,6,i)
    look_up_table_sheet.cell(k,7,name_.count(i))
    k += 1

look_up_table_excel.save(look_up_table_path)

最后成品,F1和G1可以手动写个表头,成品如下

 虽然最后代码很简单,但是着实费了不少功夫,开始找了什么将数据放入字典,转成DataFrame,在write进,然后因为基础列表字典的操作不熟悉,搞了半天,最后找到这个办法,可能不是最好的,因为还想降序输出的,但是一阶段先这样吧!

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值