玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python源码实例_Python程序源代码_网站项目下载 > 正文内容

Python统计分析execl文件列表值的方法

Python入门佳作 经典教程的全新修订 10个项目引人入胜
玩蛇网推荐图文教程:python黑客多线程扫描器

Python统计分析execl文件列表值的方法,采用python批量统计分析Excel表格数据工具代码编写示例。Python实现文件操方法有很多,python excel处理数据简洁方便。

下边关于Python统计分析execl文件列表值的方法代码中,有详细的中文注释,每一步都很清晰的讲解了代码所代表的含义。

Python具体操作代码如下: 

#!/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) #总件数

#www.iplaypython.com

    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 '正在退出程序,请耐心等候'
#此处可以填写你想要输出的内容!

玩蛇网文章,转载请注明出处和来源网址:http://www.iplaypython.com/code/c2658.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网PythonQQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
出炉日期:2015-12-24 15:05 玩蛇网 www.iplaypython.com

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules