Python操作Excel示例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shufac/article/details/79918505
Python对Excel的读写主要有xlrd、xlwt、xlutils、openpyxl、xlsxwriter几种。

1.读取excel文件xlrd

import xlrd
workbook = xlrd.open_workbook(u'AAA.xls')
sheet_names= workbook.sheet_names()
for sheet_name in sheet_names:
   sheet2 = workbook.sheet_by_name(sheet_name)
     #获取第四行内容
   print sheet_name rows = sheet2.row_values(3)
     #获取第二列内容
   cols = sheet2.col_values(1)
   print rows
   print cols

2.写excel文件xlwt

import xlwt
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet 1')
#第0行第一列写入内容
sheet.write(0,1,'test text')
wbk.save('AAA.xls')

3.修改excel文件xlutils

已项目实际开发的程序为例,执行过程参考注释。
def slotStart(self):
        #读配置文件        
        arrayconf=Conf_file(u"conf.ini");
        #文件名称后缀
        fileexterntion=file_extension(arrayconf[0])
        ipos=arrayconf[0].find(fileexterntion)
        print ipos
        #获取文件名称,用于存储文件命名
        filename=arrayconf[0][0:ipos] 
        filename=filename+u'new.xls'
        print fileexterntion
        print filename
        #写log文件
        logstring =u"";
        #打开目标文件
        workbook = open_workbook(arrayconf[0])
        #获取首个sheet
        sheet = workbook.sheet_by_index(0)
        #获取副本
        wb = copy(workbook)
        #获取副本的首个sheet
        ws = wb.get_sheet(0)
        #获取首行信息,返回列表
        rows = sheet.row_values(0)
        #获取首列信息,返回列表
        cols = sheet.col_values(0)
   
        print rows
        print cols
        imeinum=len(cols);
        print imeinum
        #进度条设置
        self.progressBar.setMinimum(0)
        self.progressBar.setMaximum(imeinum)
        #通过循环遍历IMEI,根据算法,生成对应的密码,然后写入对应单元格
        for row in range(1,imeinum):    
            self.progressBar.setValue(row)
            strimei=cols[row]
            logstring=logstring+u"IMEI:"+strimei+u" "
            print strimei
            print len(strimei)
            a=list()
            for i in range(0,len(strimei)):
                s=strimei[i:i+1];
                a.append(s)     
            #获取密码       
            arr =GetLocksum(a)
            print arr
            str1 = ','.join(arr)
            print str1
            str1=str1.replace(',','')
            logstring=logstring+u"lockcode:"+str1+u"\r\n"
            print str1        
            #写excel
            ws.write(row,1,str1)            
            #设置进度信息
            self.progressBar.setValue(row)
        #保存Excel
        wb.save(filename)
        writeLogFile(u"log.txt", logstring)
        self.progressBar.setValue(imeinum)
        msg_box = QMessageBox(QMessageBox.Warning, u"Alert", u"操作完成!")
        msg_box.exec_()
        self.progressBar.setValue(0)
其他两个openpyxl、xlsxwriter可以分别对excel文件进行读写操作和可以写excel文件并加上图表,这里不做详细叙述。

另外,读写和修改Excel的引用模块获取地址:https://download.csdn.net/download/shufac/10344842


展开阅读全文

没有更多推荐了,返回首页