【2】Python操作Excel:xlwt、xlrd 、xlutils、openpyx模块

import xlwt  #写excel
import xlrd  #读excel
import xlutils #修改excel

一、写操作

1、写Excel

import xlwt  #写excel,导入模块

book = xlwt.Workbook(encoding='utf-8')# 创建一个Workbook对象,这就相当于创建了一个Excel文件
sheet = book.add_sheet('sheet1')#创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。其中的sheet1是这张表的名字。

sheet.write(0,0,'id')#  其中的'0-行, 0-列'指定表中的单元,'id'是向该单元写入的内容
sheet.write(0,1,'username')
sheet.write(0,2,'password')

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

book.save(r'e:\test1.xls')# 最后,将以上操作保存到指定的Excel文件中

2、如何写一个表

我们有下面这一张表,怎样写到excle中呢,可以用到二层循环。

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'],
]

 

line = 0 #定义一个变量,控制的是行,循环一次行加1
for stu in stus:#行  第一层循环
    #stu [1,'njf','1234']
    col = 0 #控制lie
    for s in stu: #第二层循环
        sheet.write(line, col, s)
        #0 0  1
        #0 1 njf
        #0 2 1234

        # 1 0 2
        # 1 1 xiaojun
        # 1 2 1234

        col+=1 #控制lie
    line+=1

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

 

二、读操作

import xlrd  #读excel,导入模块

book = xlrd.open_workbook('stu.xls')#打开XLS文件
sheet = book.sheet_by_index(0)# 方法1,通过sheet索引获得sheet对象
sheet = book.sheet_by_name('sheet1') # 方法2,根据名字获得


print(sheet.nrows) #获取总行数
print(sheet.ncols) #获取宗列数
print(sheet.cell(0,0).value) #获取到指定单元格的内容
print(sheet.cell(0,1).value) #获取到指定单元格的内容
print(sheet.row_values(0))# 获得第1行的数据列表
print(sheet.col_values(0))# 获得第1列的数据列表

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

 

三、修改操作

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页,第1张表
sheet.write(0,1,'倪菊芳')#修改指定内容
sheet.write(1,1,'白小军')
new_book.save('stu.xls')#保存

 

posted @ 2018-09-29 16:45  柠檬不萌!  阅读(603)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end