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开发之IDEL(Python GUI)的使用方法图文详解
Nov 12 Python
浅析python中SQLAlchemy排序的一个坑
Feb 24 Python
Python中Django发送带图片和附件的邮件
Mar 31 Python
python调用API实现智能回复机器人
Apr 10 Python
Python2 Selenium元素定位的实现(8种)
Feb 25 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
Jun 26 Python
python numpy存取文件的方式
Apr 01 Python
python 浅谈serial与stm32通信的编码问题
Dec 18 Python
解决Django no such table: django_session的问题
Apr 07 Python
python+requests接口压力测试500次,查看响应时间的实例
Apr 30 Python
pytorch掉坑记录:model.eval的作用说明
Jun 23 Python
Python作用域和名称空间的详细介绍
Apr 13 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 escape URL编码
2008/12/10 PHP
php关联数组快速排序的方法
2015/04/17 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
javascript自然分类法算法实现代码
2013/10/11 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
js格式化时间的方法
2015/12/18 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
python 中文字符串的处理实现代码
2009/10/25 Python
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
Python迭代用法实例教程
2014/09/08 Python
朴素贝叶斯算法的python实现方法
2014/11/18 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
django实现日志按日期分割
2020/05/21 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
python中append函数用法讲解
2020/12/11 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
2015年检验科工作总结
2015/04/27 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
导游词之峨眉山
2019/12/16 职场文书
PHP正则表达式之RCEService回溯
2022/04/11 PHP