Python之操作Excel

使用之前先导入三个模块:

import xlwt  #只能写Excel
import xlrd   #只能读Excel
import xlutils  #修改Excel,在原来的基础上修改

一、写EXCEL

book=xlwt.Workbook()  #新建一个Excel
sheet=book.add_sheet('sheet1')#建一个sheet页
sheet.write(0,0,'id')#指定行和列,写内容
sheet.write(0,1,'username')
sheet.write(0,2,'password')

sheet.write(1,0,'1')
sheet.write(1,1,'xiaoming')
sheet.write(1,2,'123456')

book.save('stu.xls')#保存内容
#注意:要保存成结尾时.xls的文件,.xlsx用微软的文件打不开,只能用WPS的打开

使用循环方式写入内容:

#给定文件内容:
stus=[
    [1,'njf','1234'],
    [2,'xiaojun','1234'],
    [3,'hailong','1234'],
    [4,'xiaohei','1234'],
    [5,'xiaohei','1234'],
    [6,'xiaohei','1234'],
    [7,'xiaohei','1234'],
    [8,'xiaohei','1234'],
    [9,'xiaohei','1234'],
]

#内容写入Excel
book=xlrt.Workbook() #新建一个Excel
sheet=book.add_sheet('sheet1') #新建一个sheet页

line=0 #控制的是行
for stu in stus:
    col=0 #控制列
    for s in stu:
        sheet.write(line,col,s)
        col+=1
    line+=1

book.save('stu.xls') #保存内容

 

二、读EXCEL

import xlrd

book=xlrd.open_workbook('stu.xls') #打开Excel
sheet=book.sheet_by_index(0) #根据编号获取sheet页
#sheet=book.sheet_by_name('sheet1') #也可以根据sheet页名字获取sheet页

print(sheet.nrows) #Excel里有多少行
print(sheet.ncols)  #Excel里有多少列

print(sheet.cell(0,0).value) #获取到指定单元格的内容
print(sheet.cell(0,1).value) #获取到指定单元格的内容

print(sheet.row_values(0))  #获取到整行的内容
print(sheet.col_values(0))   #获取到整列的内容

for i in range(sheet.nrows):  #循环获取每行的内容
    print(sheet.row_values(i))

三、修改EXCEL

由于xlwt模块只能写一次,再重新打开Excel后会覆盖原来的内容;而xlrd模块只能读,因此修改Excel就要使用xlutils模块了。

#import xlutils
import xlrd   #两个模块配合使用
from xlutils import copy

book=xlrd.open_workbook('stu.xls')
#先用xlrd打开一个Excel
new_book=copy.copy(book)
#然后用xlutils里面的copy功能,复制一个Excel

sheet=new_book.get_sheet(0) #获取sheet页,注意这里的sheet页是xlutils里的,只能用.get_sheet()的方法获取了

sheet.write(0,1,'小明')

new_book.save('stu.xls') #修改完内容后再保存成同名的Excel

 

posted @ 2018-09-28 15:31  意如柳  阅读(1124)  评论(0编辑  收藏  举报