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正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
python numpy函数中的linspace创建等差数列详解
Oct 13 Python
详解PyTorch批训练及优化器比较
Apr 28 Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
django-初始配置(纯手写)详解
Jul 30 Python
python禁用键鼠与提权代码实例
Aug 16 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
Aug 19 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
Sep 16 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
python与mysql数据库交互的实现
Jan 06 Python
python 如何用terminal输入参数
May 25 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常用技术文之文件操作和目录操作总结
2014/09/27 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
js+html制作简单验证码
2017/02/16 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
Python中使用logging模块打印log日志详解
2015/04/05 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
python调用外部程序的实操步骤
2019/03/04 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
总经理助理工作职责
2014/02/06 职场文书
《小草和大树》教学反思
2014/02/16 职场文书
英语教研活动总结
2014/07/02 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
护理见习报告范文
2014/11/03 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
创业计划书详解
2019/07/19 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
MYSQL如何查看进程和kill进程
2022/03/13 MySQL