python对excel表统计视频教程_Python实现对excel文件列表值进行统计的方法

本文介绍了使用Python通过win32com库来读取和统计Excel文件中特定列的值。程序首先获取用户输入的文件路径,然后检查文件是否包含预设的列标题,接着统计并打印业务类型和转办单位的分类及其数量。该代码适用于对Excel数据进行快速统计分析。
摘要由CSDN通过智能技术生成

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

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值