首页 > 学院 > 开发设计 > 正文

python操作csv-xls完善后的代码

2019-11-14 17:02:48
字体:
来源:转载
供稿:网友
#coding:utf-8#导入相应模块import csv,xlwt,sys,os,fnmatch,xlrdfrom xlutils.copy import copy#对xls文件中的绝对值数据求最大值并列表def max_Excel(excel):    rb1=xlrd.open_workbook(excel)    #sheet0=rb1.sheets()[1]    wb1=copy(rb1)    #sheet页通过sheet名称得到的才能获取行数和列数,但是不能进行写操作,通过下标获得的sheet可以进行写操作,但是不能获得行数和列数    sheet0=rb1.sheet_by_name("Absolute")    sheet3=wb1.get_sheet(2)      nrows1=sheet0.nrows    ncols1=sheet0.ncols       for k in range(0,ncols1,):        sheet3.write(0,k,u'炸点%d' %(k+1))                    cols = sheet0.col_values(k)        cmax=max(cols[1:])               sheet3.write(1,k, cmax)      wb1.save(excel)#对xls文件中的data数据求绝对值def abs_excel(excel):    #PRint "3"    rb=xlrd.open_workbook(excel)    #sheet=rb.sheets()[0]    wb=copy(rb)    sheet = rb.sheet_by_name("data")    #print sheet    sheet2=wb.get_sheet(1)       nrows=sheet.nrows    ncols=sheet.ncols      for i in range(nrows):        for j in range(ncols):            w=sheet.cell(i,j).value            if (i==0):                sheet2.write(i,j,w)            else:                v = float(w)                sheet2.write(i,j,abs(v))    wb.save(excel)     max_excel(excel)#另存为xls文件def ex_file(mycsvfile):    csvfile = open(mycsvfile,"rb")    #csvfile = open("test.csv","rb")    #新建excel文件    myexcel = xlwt.Workbook()    #新建sheet页    mysheet1= myexcel.add_sheet("data")    mysheet2= myexcel.add_sheet("Absolute")    mysheet3= myexcel.add_sheet("MAX")    #获取csv的文件名    portion = os.path.splitext(mycsvfile)    #读取csv中文件信息    reader = csv.reader(csvfile,dialect='excel')    l = 0    #通过循环获取单行信息    for line in reader:        r = 0        #通过双重循环获取单个单元信息        for i in line:            #通过双重循环写入excel表格            mysheet1.write(l,r,i)            r+=1        l+=1            myexcel.save(portion[0]+".xls")    excel = portion[0]+".xls"    #print portion[0]+".xls"    abs_excel(excel)               def iterfindfiles(path, fnexp):    for root, dirs, files in os.walk(path):        for filename in fnmatch.filter(files, fnexp):            yield os.path.join(root, filename)    #批量处理if __name__=="__main__":    mypath=raw_input("Please enter a path:")    myfnexp='*.csv'    #print 1    for filename in iterfindfiles(mypath,myfnexp):        #print filename        ex_file(filename)        #abs_excel(filename)        #max_excel(filename)    raw_input ('please enter to exit')

 

最后可以通过 python pyinstaller --console --onefile  绝对路径/py文件.py  命令生产成对应的exe文件。

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表