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