python支持wps_python程序的一个应用wps的实例

最近看到一个同事在统计一个月的数据量时,看到她是一个wps文件打开来记下几个特定的数,然后是当月的每天的一个文件看过来,然后算出总和,我看她一个个文件打开来很麻烦,最近刚好在看python,想了下不知道有没有办法 ,能过这二天的努力,终于帮它解决了这个问题

用到了一个第三方的库,win32com

下面是代码 :

# coding=gbk

import os

import string

import win32com.client

os.system("cls")

print '''

此程序用来统计月业务类型日汇总表的总件数

用法:把你要统计的月的文件夹的地址复制进来就可以了

比如把 \\WWW-3F7334AFD8F\SharedDocs\业务类型日汇总表\2009年\2009年10月业务类型日汇总表

贴进来回车就可以了,这个直接从文件浏览中的地址栏上复制一下不可以了

'''

filename = raw_input( "\n\n\n请输入你要统计的文件夹地址:" )

filename1=filename

filename = 'dir '+filename+'\\*业务类型.doc >data.txt' #解析整个文件 夹下的文件名存入data.txt文件

os.system(filename)

data = open("data.txt",'r') #打开data.txt文件,直接取出要处理的文件 名,存入数组fnames

fnames=[]

for eachline in data:

if '业务类型.doc' in eachline: #这个是筛选,只处理带业务类型.doc的文档

fnames.append(string.split(eachline)[-1:][0]) #然后取出doc中dir出来的结果的最后一排文件 名

##for s in fnames:

## print '%s' % s

print '*'*80

print '请稍候,正在统计数据中。。。'

print '*'*80

##循环整个文件夹下取出来的文件名数组,依次打开每个文件

##取出每个文件的表格中的特定几个数字,算其总数

#############################################

sum1=sum2=sum3=sum4=0 #sum这些数字为要统计特定数字

wps=win32com.client.Dispatch("wps.Application")

for name in fnames:

filename=filename1+"\\"+name

doc=wps.Documents.Open(FileName=filename)

n1=doc.Tables[0].Rows[1].Cells[1].Range.Text #这部分是算几个数字,每个文件里面取出来,算总和

n2=doc.Tables[0].Rows[1].Cells[3].Range.Text #这里可能可以简化它

n3=doc.Tables[0].Rows[1].Cells[5].Range.Text

n4=doc.Tables[0].Rows[1].Cells[7].Range.Text

n=[n1,n2,n3,n4]

for i in range(4):

if n[i] in string.whitespace: #这里处理表格中如果没有数据默认为0

n[i]=0

sum1=sum1+int(n[0])

sum2=sum2+int(n[1])

sum3=sum3+int(n[2])

sum4=sum4+int(n[3])

doc.Close()

wps.Quit()

os.system("cls")

print '\n\n\n总受理件数\t即刻答复累计\t中心交办累计\t网上交办累计'

print ' ',sum1,'\t ',sum2,'\t ',sum3,'\t\t ',sum4

#print doc.Tables[0].Rows[1].Cells[5].Range.Text

data.close()

os.system("del data.txt")

raw_input("\n\n 按回车键退出!")

阅读(3940) | 评论(0) | 转发(0) |

你可能感兴趣的:(python支持wps)