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的汉字转GBK码实现代码
Feb 19 Python
python BeautifulSoup设置页面编码的方法
Apr 03 Python
Python的语言类型(详解)
Jun 24 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 Python
python爬取个性签名的方法
Jun 17 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
Feb 17 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
Python利用神经网络解决非线性回归问题实例详解
Jul 19 Python
python pymysql链接数据库查询结果转为Dataframe实例
Jun 05 Python
python中entry用法讲解
Dec 04 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中通过smtp发邮件的类,测试通过
2007/01/22 PHP
php下MYSQL limit的优化
2008/01/10 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
canvas的神奇用法
2017/02/03 Javascript
js实现无缝滚动图
2017/02/22 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
python生成lmdb格式的文件实例
2018/11/08 Python
Python3基于print打印带颜色字符串
2020/07/06 Python
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
灵泰克Java笔试题
2016/01/09 面试题
商务英语专业毕业生自荐信
2013/11/05 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
清明节寄语2015
2015/03/23 职场文书
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电