Python实现对excel文件列表值进行统计的方法

时间:2021-05-22

本文实例讲述了Python实现对excel文件列表值进行统计的方法。分享给大家供大家参考。具体如下:

#!/usr/bin/env python#coding=gbk#此PY用来统计一个execl文件中的特定一列的值的分类import win32com.clientfilename=raw_input("请输入要统计文件的详细地址:")flag=0 #用于判断文件 名如果不带‘日'就为 0if '\xc8\xd5' in filename:flag=1print 50*'='+'\n\t 请稍等,程序正在统计中。。。'try: xls=win32com.client.Dispatch('et.Application') try: xlsfile=xls.Workbooks.Open(filename) #打开指定的文件,一般打开的是sheet1 sheet=xlsfile.Worksheets('Sheet1') except: print '文件找开错误!' exit(1) print '程序正在自动退出。。。' if sheet.Cells(3,6).Value!=u'业务类型' or sheet.Cells(3,3).Value!=u'转办单位': print '您输入的表格已不是默认的表格,数据格式有误' exit(1) #这个判断是当文件中的特定列改变时,直接退出程序 i=4 dept=sheet.Cells(i,3).Value type=sheet.Cells(i,6).Value typelist=[] #用于存放数据的列表,下面就是取sheet表里的某一列数据 deptlist=[] #用于存放转办单位的列表 while type: typelist.append(type) deptlist.append(dept) i=i+1 type=sheet.Cells(i,6).Value dept=sheet.Cells(i,3).Value #存放列的数据到二个列表中 counts=len(typelist) #总件数 if counts==0: print '输入的文件统计结果为0,是否文件的格式有误?' exit(1) typelist=[(i,typelist.count(i)) for i in set(typelist)] departmentlist=[] delchar='0123456789' #删除取出列表中有可能带数字 分开字段有空格的话 for i in deptlist[:]: i=''.join([j for j in i if j not in delchar]) while '.' in i: i=i.replace('.',' ') deptlist+=i.split() deptlist=deptlist[counts:] deptlist=[(i,deptlist.count(i)) for i in set(deptlist)] #下面是打印格式等 。。。 print '\n'+50*'=' print '\t信访件总数为%d件,下面是各分类件数' % counts, print '\n'+50*'='+'\n' for i in range(len(typelist)): print '\t',typelist[0],typelist[1],'\t', if i % 2 ==1 : print '\n' if flag==0: print '\n'+50*'='+'\n\t下面是转办单位的分类\n'+50*'=' for i in range(len(deptlist)): print '\t',deptlist[0],deptlist[1],'\t', if i % 2 ==1 : print '\n'finally: xls.Quit()raw_input('\n\n'+50*'='+'\n请输入回车键退出程序!')print '正在退出程序,请稍等。。。'

希望本文所述对大家的Python程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章