|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:Linux操作系统的诞生创始人林纳斯·托瓦兹。
明天一同事让处置一个excel,把一个excel里固定地位的内容读取写到另外一个excel中的固定地位里,查了一些材料,python有很多多少处置excel的模块,比较以后感到用win32com来处置这个成绩比拟简略,个中包括了处置文件路径和文件名字为中文的编码成绩,上面是本身写的代码:
- #!/usr/bin/envpython#-*-coding:utf-8-*-fromwin32com.clientimportconstants,Dispatchimportos,sys,datetime,time,shutilclassrw_excel:def__init__(self):self.yesterday=(datetime.date.today()-datetime.timedelta(days=2)).strftime(%Y%m%d)self.cwd=os.getcwd()defread_excel(self):try:f=self.cwd+""+self.yesterday+""+u"汇总".encode("gbk")+"_"+self.yesterday+".xlsx"printff_open=(f)xlsApp=Dispatch("Excel.Application")xlsApp.Visible=FalsexlsBook=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]]foriinopen:a=xlsSht.Cells(i[0],i[1]).Value.encode("utf8")R.append(a)returnRexceptException,e:printedefwrite_excel(self,R):f=self.cwd+""+self.yesterday+""+u"数目汇总".encode("gbk")+"(GY)_"+self.yesterday+".xls"printff_save=(f)xlsApp=Dispatch("Excel.Application")xlsApp.Visible=FalsexlsBook=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]]foriinrange(len(R)):xlsSht.Cells(save[i][0],save[i][1]).Value=R[i]xlsBook.Close(SaveChanges=1)xlsApp.Quit()defmain(self):R=self.read_excel()print"read_excelOK"self.write_excel(R)print"write_excelGYOK"print"ExcelOK"classmove:def__init__(self):self.yesterday=(datetime.date.today()-datetime.timedelta(days=2)).strftime(%Y%m%d)self.cwd=os.getcwd()defcopy(self,src,dst):ifos.path.isdir(src):base=os.path.basename(src)ifos.path.exists(dst):dst=os.path.join(dst,base)ifnotos.path.exists(dst):os.makedirs(dst)names=os.listdir(src)fornameinnames:srcname=os.path.join(src,name)self.copy(srcname,dst)else:shutil.copy2(src,dst)defmk_dir(self):a=self.cwd+""+u"处置名单_%s".encode("gbk")%self.yesterday+""+u"处置名单(GY)_%s".encode("gbk")%self.yesterdayprintaifnotos.path.isdir(a):os.makedirs(a)b=self.cwd+""+u"处置名单_%s".encode("gbk")%self.yesterday+""+u"处置名单(CS)_%s".encode("gbk")%self.yesterdayprintbifnotos.path.isdir(b):os.makedirs(b)f=self.cwd+""+self.yesterday+""names=os.listdir(f)fornameinnames:if"txt"innameor"CS"inname: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"Moveok"defmain(self):self.mk_dir()if__name__=="__main__":boss=rw_excel()boss.main()boss=move()boss.main()
复制代码 小知识:CentOS完全免费,不存在REDHATAS4需要序列号的问题。 |
|