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 相关文章推荐
wxPython窗口中文乱码解决方法
Oct 11 Python
Python新手们容易犯的几个错误总结
Apr 01 Python
python 使用get_argument获取url query参数
Apr 28 Python
Python的高阶函数用法实例分析
Apr 11 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
Aug 05 Python
Django中create和save方法的不同
Aug 13 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
详解Python图像处理库Pillow常用使用方法
Sep 02 Python
python绘制规则网络图形实例
Dec 09 Python
python zip()函数的使用示例
Sep 23 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
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php实现图片添加水印功能
2014/02/13 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
JQuery中each()的使用方法说明
2010/08/19 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
python实现录音小程序
2020/10/26 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
python实现电子词典
2020/03/03 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
关于Python解包知识点总结
2020/05/05 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
美国著名手表网站:Timepiece
2017/11/15 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
市场营销策划方案
2014/06/11 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
2014年护士个人工作总结
2014/11/11 职场文书
支行行长岗位职责
2015/02/15 职场文书
校友回访母校寄语
2015/02/26 职场文书
PHP基本语法
2021/03/31 PHP
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
mysql 获取时间方式
2022/03/20 MySQL