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 ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
Jun 10 Python
python采用requests库模拟登录和抓取数据的简单示例
Jul 05 Python
python的Template使用指南
Sep 11 Python
python sort、sorted高级排序技巧
Nov 21 Python
python实现颜色rgb和hex相互转换的函数
Mar 19 Python
初学Python函数的笔记整理
Apr 07 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
python矩阵的转置和逆转实例
Dec 12 Python
python之PyQt按钮右键菜单功能的实现代码
Aug 17 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 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+js实现异步图片上传实例分享
2014/06/02 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
php处理json格式数据经典案例总结
2016/05/19 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
JavaScript 指导方针
2007/04/05 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
2018/09/07 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
Python中使用dom模块生成XML文件示例
2015/04/05 Python
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
Python文件处理
2016/02/29 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
python实现维吉尼亚加密法
2019/03/20 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
2014年度党员自我评议
2014/09/13 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
redis内存空间效率问题的深入探究
2021/05/17 Redis
MySQL8.0无法启动3534的解决方法
2021/06/03 MySQL