首页 > 编程 > Python > 正文

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

2019-11-25 17:07:59
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表