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 相关文章推荐
pymssql ntext字段调用问题解决方法
Dec 17 Python
python模拟登录百度贴吧(百度贴吧登录)实例
Dec 18 Python
跟老齐学Python之有容乃大的list(3)
Sep 15 Python
解决python删除文件的权限错误问题
Apr 24 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
python3实现微型的web服务器
Sep 03 Python
Python continue语句实例用法
Feb 06 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
python调用有道智云API实现文件批量翻译
Oct 10 Python
python opencv实现图像配准与比较
Feb 09 Python
Python深度学习之Pytorch初步使用
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 4.2书写安全的脚本
2006/10/09 PHP
PHP新手上路(七)
2006/10/09 PHP
PHP-MySQL教程归纳总结
2008/06/07 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
Javascript读取cookie函数代码
2010/10/16 Javascript
转换字符串为json对象的方法详解
2013/11/29 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
超全面的vue.js使用总结
2017/02/12 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
解读Django框架中的低层次缓存API
2015/07/24 Python
简单谈谈python基本数据类型
2018/09/26 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
django自带调试服务器的使用详解
2019/08/29 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
2020/07/01 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
一些Solaris面试题
2015/12/22 面试题
个人简历的自荐信
2013/10/23 职场文书
劳动实践课感言
2014/02/01 职场文书
房屋出租协议书
2014/04/10 职场文书
教师求职信
2014/06/17 职场文书
小学生成绩单评语
2014/12/31 职场文书
展览会邀请函
2015/02/02 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python