python操作Excel

本篇主要记录一下Python操作Excel文件的几种方式,主要说明的是有xlrd、xlwt、xlutils等三种方式;

1、xlrd主要是用来读取excel文件。

import xlrd
book = xlrd.open_workbook('app_student.xls')#打开名字为‘app_student.xls’的Excel文件
book.nsheets#获取sheets数目
book.sheets()#获取sheets列表
book.sheet_names()#获取sheets name列表
sheet = book.sheets()[0]          #sheets返回一个sheet列表
sheet = book.sheet_by_index(0)##通过索引顺序获取sheet
sheet = book.sheet_by_name('name')#通过名称获取sheet
sheet.cell(0,1).value #获取指定单元格
row_list = sheet.row_values(row) #获取整行的数据
col_list = sheet.col_values(col) #获取整列的数据
sheet.nrows #获取excel里面总共有多少行
sheet.ncols  #获取excel里面总共有多少列

2、xlwt主要是用来写excel文件。

import xlwt
book = xlwt.Workbook()#新建Excel文件
sheet = book.add_sheet('sheet 1')#增加sheet页
sheet.write(0,1,'test text')#第0行第一列写入内容
book.save('test.xls')#保存文件

3、xlutils结合xlrd可以达到修改excel文件目的。

import xlrd
from xlutils.copy import copy
workbook = xlrd.open_workbook('app_students.xls')
workbooknew = copy(workbook)#复制一个Excel文件
ws = workbooknew.get_sheet(0)#获取sheet页
ws.write(3, 0, 'changed!')#写内容
workbooknew.save(u'app_students.xlscopy.xls')#保存复制的文件

4、enumerate() 函数

1)、用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。举例说明:

lis = ['编号','名字','性别','年龄','地址','班级','手机号','金币']
for col,filed in enumerate(lis):
    print(col,filed)

#以上结果打印如下:
0 编号
1 名字
2 性别
3 年龄
4 地址
5 班级
6 手机号
7 金币

2)、使用enumerate()函数写表头,例如:

import  xlwt
book=xlwt.Workbook('students.xls')#新建Excel文件
sheet=book.add_sheet('sheet1')#增加sheet
sheet = book.get_sheet(0) #获取sheet页
lis = ['编号','名字','性别','年龄','地址','班级','手机号','金币']
for col,filed in enumerate(lis):
    sheet.write(0,col,filed)#将lis中的元素作为表头写入Excel
book.save('student.xls')

写入结果如下:

python操作Excel

相关推荐