python 读写excel

python 读写xml


#!/usr/bin/env python    
# -*- coding: utf-8 -*-    
         
from win32com.client import constants,Dispatch    
import os,sys,datetime,time,shutil    
         
class rw_excel:    
         
    def __init__(self):    
        self.yesterday = (datetime.date.today() - datetime.timedelta(days=2)).strftime('%Y%m%d')    
        self.cwd = os.getcwd()    
         
    def read_excel(self):    
        try:    
            f = self.cwd + "" + self.yesterday + "" + u"汇总".encode("gbk") + "_" + self.yesterday + ".xlsx"    
            print f    
            f_open = (f)    
            xlsApp = Dispatch("Excel.Application")    
            xlsApp.Visible = False
            xlsBook = xlsApp.Workbooks.Open(f_open)    
            sheet_name = ('统计').decode("utf8")    
            xlsSht = xlsBook.Worksheets(sheet_name)    
            R = []    
            open = [[2,2],[3,2],[4,2],[5,2],[6,2],[7,2],[8,2],[9,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2]]    
            for i in open:    
                a = xlsSht.Cells(i[0],i[1]).Value.encode("utf8")    
                R.append(a)    
            return R    
        except Exception,e:    
            print e    
         
    def write_excel(self,R):    
        f = self.cwd + "" + self.yesterday + "" + u"数量汇总".encode("gbk") + "(GY)_" + self.yesterday + ".xls"    
        print f    
        f_save = (f)    
        xlsApp = Dispatch("Excel.Application")       
        xlsApp.Visible = False
        xlsBook = xlsApp.Workbooks.Open(f_save)    
        sheet_name = ('数量汇总(GY)').decode("utf8")    
        xlsSht = xlsBook.Worksheets(sheet_name)    
        save = [[2,5],[3,5],[6,5],[7,5],[9,5],[10,5],[12,5],[13,5],[14,5],[17,5],[18,5],[19,5],[20,5],[23,5]]    
        for i in range(len(R)):    
            xlsSht.Cells(save[i][0],save[i][1]).Value = R[i]    
        xlsBook.Close(SaveChanges=1)    
        xlsApp.Quit()    
         
    def main(self):    
        R = self.read_excel()    
        print "read_excel OK"
        self.write_excel(R)    
        print "write_excel GY OK"
        print "Excel OK"
         
class move:    
         
    def __init__(self):    
        self.yesterday = (datetime.date.today() - datetime.timedelta(days=2)).strftime('%Y%m%d')    
        self.cwd = os.getcwd()    
         
    def copy(self,src, dst):    
        if os.path.isdir(src):    
            base = os.path.basename(src)    
            if os.path.exists(dst):    
                dst = os.path.join(dst, base)    
            if not os.path.exists(dst):    
                os.makedirs(dst)    
            names = os.listdir(src)    
            for name in names:    
                srcname = os.path.join(src, name)    
                self.copy(srcname, dst)    
        else:    
            shutil.copy2(src, dst)    
         
    def mk_dir(self):    
        a = self.cwd + "" + u"处理名单_%s".encode("gbk") % self.yesterday + "" + u"处理名单(GY)_%s".encode("gbk") % self.yesterday    
        print a    
        if not os.path.isdir(a):    
            os.makedirs(a)    
        b = self.cwd + "" + u"处理名单_%s".encode("gbk") % self.yesterday + "" + u"处理名单(CS)_%s".encode("gbk") % self.yesterday    
        print b    
        if not os.path.isdir(b):    
            os.makedirs(b)    
        f = self.cwd + "" + self.yesterday + ""    
        names = os.listdir(f)    
        for name in names:    
            if "txt" in name or "CS" in name:    
                self.copy(os.path.join(f,name),os.path.join(b,name))    
            else:    
                self.copy(os.path.join(f,name),os.path.join(a,name))    
        shutil.rmtree(f)    
        print "Move ok"
         
    def main(self):    
        self.mk_dir()    
         
if __name__=="__main__":    
    boss = rw_excel()    
    boss.main()    
    boss = move()    
    boss.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值