Python中使用xlrd、xlwt、xlutils读写Excel文件

 

一、使用xlrd库读excel文件:

   1、xlrd模块是什么

  • python第三方工具包,用于读取excel中的数据;
  • 它支持 xlsx 和 xls 格式的excel表格;
  • 打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell)
  • 与之对应的还有一个xlwt包,用于往excel中写入数据。
  • 命令行中输入:pip install xlrd
  • 下载安装包进行离线安装

2、安装xlrd模块

  • 命令行中输入:pip install xlrd
  • 下载安装包进行离线安装

3、xlrd应用举例:

  

  (1)打开一个工作簿对象:

     workbook = xlrd.open_workbook("a1.xlsx")

  (2)获取一个工作表(三种方法)

sheet = workbook.sheets()[0]           #通过索引顺序获取

sheet = workbook.sheet_by_index(0)     #通过索引顺序获取

sheet = workbook.sheet_by_name(u'Sheet1')#通过名称获取

  (3)获取行数和列数:

rows = sheet.nrows  #获取行数

cols = sheet.ncols  #获取列数

   (4)获取整行和整列的值

rowData = sheet.row_values(行索引号)
colDate = sheet.col_values(列索引号)

   (5)通过循环读取表格的所有行

for i in range(sheet.nrows):
    print(sheet.row_values(i))

   (6)获取单元格的值

cell_A1 = sheet.row(0)[0]
cell_A1 = sheet.cell(0,0)
cell_A1 = sheet.col(0)[0]

 

 二、使用xlwt库写excel文件:

   1、xlwt模块是什么

  • xlwt就是一个纯粹的Writer了,因为它只能对Excel进行写操作

import xlwt

workbook =xlwt.Workbook() #新建一个工作簿

s1 = workbook.add_sheet("test")  #向工作簿中添加工作表,名称为test

s1.write(0,0,u"姓名")  #test表的第一个单元格添加"姓名"

s2 = workbook.add_sheet("tttt")  #向工作簿中添加工作表,名称为tttt

s2.write(0,1,u'职称') #tttt表的第二个单元格添加"职称"

workbook.save("a1.xlsx")

2、xlwt支持一定的样式,操作如下:

#初始化样式

  • style=xlwt.XFStyle()

#为样式创建字体

  • font=xlwt.Font() 

#指定字体名字

  • font.name='Times New Roman' 

#字体加粗

  • font.bold=True

#将该font设定为style的字体

  • style.font=font 

#写入到文件时使用该样式

  • sheet.write(0,1,'just for test',style)

 

三、使用xlutils在excel工作簿中增加新的sheet表:xlutils模块用于复制excel表格

import xlrd,xlwt,xlutils

from xlutils.copy import copy

rb = xlrd.open_workbook("a3.xlsx",formatting_info=True)

wb = copy(rb)

#workbook =xlwt.Workbook() #新建一个工作簿

s1 = wb.add_sheet("t1")  #向工作簿中添加工作表,名称为test

s1.write(0,0,u"姓名")  #test表的第一个单元格添加"姓名"

s2 = wb.add_sheet("t2")  #向工作簿中添加工作表,名称为tttt

s2.write(0,1,u'职称') #tttt表的第二个单元格添加"职称"

wb.save("a3.xlsx")

 

原文地址:https://www.cnblogs.com/lone5wolf/p/12968560.html