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


Posted in Python onJuly 25, 2015

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

#!/usr/bin/env python
#coding=gbk
#此PY用来统计一个execl文件中的特定一列的值的分类
import win32com.client
filename=raw_input("请输入要统计文件的详细地址:")
flag=0    #用于判断文件 名如果不带‘日'就为 0
if '\xc8\xd5' in filename:flag=1
print 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程序设计有所帮助。

Python 相关文章推荐
python网络编程学习笔记(三):socket网络服务器
Jun 09 Python
python脚本实现统计日志文件中的ip访问次数代码分享
Aug 06 Python
Python greenlet实现原理和使用示例
Sep 24 Python
wxPython事件驱动实例详解
Sep 28 Python
django实现登录时候输入密码错误5次锁定用户十分钟
Nov 05 Python
Tensorflow之Saver的用法详解
Apr 23 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
如何用Python合并lmdb文件
Jul 02 Python
python 获得任意路径下的文件及其根目录的方法
Feb 16 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
Python随机数函数代码实例解析
Feb 09 Python
Python基于pillow库实现生成图片水印
Sep 14 Python
Python自动扫雷实现方法
Jul 25 #Python
Python导出DBF文件到Excel的方法
Jul 25 #Python
Python实现的RSS阅读器实例
Jul 25 #Python
Python获取央视节目单的实现代码
Jul 25 #Python
Python实现将DOC文档转换为PDF的方法
Jul 25 #Python
将Django框架和遗留的Web应用集成的方法
Jul 24 #Python
将Python的Django框架与认证系统整合的方法
Jul 24 #Python
You might like
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
element-ui 上传图片后清空图片显示的实例
2018/09/04 Javascript
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
python wsgiref源码解析
2021/02/06 Python
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
曼城官方网上商店:Manchester City
2019/09/10 全球购物
心理健康教育心得体会
2013/12/29 职场文书
房地产销售经理岗位职责
2014/01/01 职场文书
党章学习思想汇报
2014/01/14 职场文书
《王二小》教学反思
2014/02/27 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
三严三实学习心得体会
2014/10/13 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL