Python实现对excel文件列表值进行统计的方法
admin
2023-07-31 02:25:30
0

本文实例讲述了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程序设计有所帮助。

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...