python统计excel中出现次数,python中如何排序列表中的数据
第一篇前言。源代码2。模块分析2.1文件打开2.2数据读取2.3频率统计2.4按频率排序
序
在我的工作中,我想对excel做一个简单的统计。花了三个小时终于搞定,结果如下:
1.源码不多说了。直接上源代码就可以直接吃了。将目标文件设置为需要统计的文件即可。
#-*-编码:UTF-8-*-导入XLR DFROM集合导入计数器Infos=[] #目标文件report= 2019 . xlsx Info _ file=xlrd . open _ workbook(report)Info _ sheet=Info _ file . sheets()[1]row _ count=Info _ sheet . nrows for range(0,row _ count): # 5是要统计的列数,注意Infos . append(Info _ sheet . cell _ value(row,5))def all _ list(arr):result={ } for模块分析接下来,对每个模块进行解释。
2.1文件打开#目标文件report= 2019 . xlsx info _ file=xlrd . open _ workbook(report)info _ sheet=info _ file . sheets()[1]自然,第一步就是打开文件,这里需要引用xlrd库。
第一行定义目标文件,第二行打开,第三行选择表。注:表的序号从0开始:
如图所示,“Sheet1”对应info _ sheet=info _ file . sheets()[0],
而“sheet2”对应的是info _ sheet=info _ file . sheets()[1]。
2.2数据读取infos=[] for row in range (0,row _ count):infos . append(info _ sheet . cell _ value(row,5))定义一个列表来存储读取的数据。
然后以列数为限,使用for循环存储每行需要的列数据。
2.3频数统计def all _ list(arr):result={ } for I in set(arr):result[I]=arr . count(I)return result定义了一个dict,它唯一地处理刚刚获得的列表,然后统计每一个数据。这里,dict的键值分别对应于“数据频率”。
2.4按频率排序D2=sorted (d.items(),key=lambda x: x [1],reverse=true)将刚得到的dict按值逆序排序。
只需将代码改为:d2=sorted (d.items(),key=lambda x: x [1],reverse=true)进行正向排序即可。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。