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检测网页是否有日常链接
Jun 03 Python
Python新手实现2048小游戏
Mar 31 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
python学生信息管理系统(初级版)
Oct 17 Python
Django实现跨域请求过程详解
Jul 25 Python
Python程序控制语句用法实例分析
Jan 14 Python
Python3变量与基本数据类型用法实例分析
Feb 14 Python
python shell命令行中import多层目录下的模块操作
Mar 09 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
python的链表基础知识点
Sep 13 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
Python OpenGL基本配置方式
May 20 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世纪万年历
2006/12/06 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
详解webpack babel的配置
2018/01/09 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
大学新生欢迎词
2014/01/10 职场文书
同学聚会老师邀请函
2014/01/28 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
社区平安建设汇报材料
2014/08/14 职场文书