文章目录

  • 一. 介绍
  • 二. 安装与导入
  • 三. Xlrd 读取数据
  • 四. Xlwt 写入数据
  • 五. Xlutils 读写转换

一. 介绍

Python常用于Excell操作的模块有PandasXlsxWriterXlrd与Xlwt等。每个模块都有自己的优劣势,具体使用哪个模块也因人而异。这里主要讲的是Xlrd、Xlwt、Xlutils的常规使用方法。

Xlrd,Xlwt 和 Xlutils是用Python处理Excel文档(.xls)的高效率工具。其中,Xlrd只能读取Xls;Xlwt只能新建Xls(不可以修改);Xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改。

二. 安装与导入

pip install xlrd
pip install xlwt
pip install xlutils

详情参考博客:Python3中第三方模块库的安装

import  xlrd
import xlwt
from xlutils.copy import copy

三. Xlrd 读取数据

Xlrd常用操作:


#1.打开工作簿
workBook = xlrd.open_workbook('test.xlsx')# 2.获取所有sheet名称,
sheet_name = workBook.sheet_names()
print(sheet_name)           # 打印出各表名,如:['sheet1', 'sheet2']# 3.根据sheet索引获取sheet名称
sheet1_name = workBook.sheet_names()[0]
print(sheet1_name)          # 打印出该sheet的名称,如:‘sheet1’# 4.获取sheet
Worksheet1 = workBook.sheet_by_name('sheet1') #根据sheet名字获取sheet内容
Worksheet2 = workBook.sheet_by_index(1)       #根据sheet索引获取sheet内容# 5.返回指定单元格的数据
#             (行,列)
workSheet.cell(3,3)         #返回指定单元格的类型+数据, 如number:96.0 、 text:'字符串'
workSheet.cell(3,3).value   #返回指定单元格的数值, 如96.0
Worksheet.cell(1,0).ctype  #返回指定单元格的数据类型  ctype说明:empty为0、string为1、number为2、date为3、boolean为4、error为5# 6.获取该工作表中的有效行数或列数
nrows = workSheet.nrows  #获取有效行数
ncols = workSheet.ncols  #获取有效列数# 7.根据sheet名称获取整行和整列的值
Worksheet = data.sheet_by_name('sheet')
print(Worksheet.row_values(3))  #打印出sheet1中第3行的值 ,如: [1,2,3,4,'东','西','南','北']
print(Worksheet.col_values(3))  #打印出sheet1中第3列的值,如: [1,2,3,4,'东','西','南','北']

四. Xlwt 写入数据

Xlwt 常用操作:


# 1.创建一个xlwt工作簿
workbook= xlwt.Workbook()
#   创建一个xlwt工作簿,编码为utf-8
workbook= xlwt.Workbook(encoding = 'utf-8')   # 2.添加一个sheet表格 cell_overwrite_ok表示是否可以复写
worksheet= wb.add_sheet('表格1',cell_overwrite_ok=True)  # 3.根据索引获取sheet表格
worksheet = worksheet.get_sheet(0)# 3.向sheet表的1行1列中写入1
worksheet.write(0, 0, 1)
#   向sheet表的1行1列中写入文字:“字符串”
worksheet.write(0, 0, '字符串')  # 4.工作蒲另存为 “xlwt_test1.xls”
workbook.save('xlwt_test1.xls') 

若需要以一定格式写入某内容时可以参考以下代码:


# 1.为样式创建字体
def get_font():font = xlwt.Font()# 字体类型font.name = 'name Times New Roman'# 字体颜色font.colour_index = 4# 字体大小,11为字号,20为衡量单位font.height = 20 * 11# 字体加粗font.bold = False# 下划线font.underline = True# 斜体字font.italic = Truereturn font# 2.设置单元格对齐方式
def get_alignment():alignment = xlwt.Alignment()# 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)alignment.horz = 0x02# 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)alignment.vert = 0x01# 设置自动换行alignment.wrap = 1return alignment# 3.设置边框
def get_borders():borders = xlwt.Borders()# 细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线:5,双线:6,细点虚线:7# 大粗虚线:8,细点划线:9,粗点划线:10,细双点划线:11,粗双点划线:12,斜点划线:13borders.left = 1borders.right = 2borders.top = 3borders.bottom = 4borders.left_colour = 1borders.right_colour = 1borders.top_colour = 1borders.bottom_colour = 1return borders# 4.主函数:#创建工作薄
wb= xlwt.Workbook()
sheet= wb.add_sheet('页面1')# 初始化样式
style_font = xlwt.XFStyle()
style_alignment = xlwt.XFStyle()
style_borders = xlwt.XFStyle()# 获取设置字体格式
style_font.font = get_font()
# 获取设置对齐格式
style_alignment.alignment = get_alignment()
# 获取设置边框格式
style_borders.borders = get_borders()# 将三种样式定义的格式作用与三个单元格
sheet.write(1, 0, '字体样式', style_font)
sheet.write(1, 2, '对齐方式', style_alignment)
sheet.write(1, 4, '边框样式', style_borders)wb.save('style.xls')

若对写入内容的字体样式对齐方式边框样式同时有要求,只需要将上面的前三条函数合并即可。

五. Xlutils 读写转换

使用Xlrd是可以读取xls的数据,但是在读的同时无法对数据进行修改。
使用Xlwt是可以新建xls然后添加数据,但是不能对已有xls进行修改。
引入Xlutils解决此类问题,将xlrd.Book转为xlwt.Workbook

Xlutils 常用操作:

# 1.打开已有xlsx文件
Old_Excel = xlrd.open_workbook('test.xlsx', formatting_info=True)# 2.将操作文件对象拷贝,变成可写的workbook对象
New_Excel = copy(Old_Excel)# 3.获得第一个sheet的对象
Worksheet = New_Excel.get_sheet(0)# 4.写入数据
Worksheet.write(0, 0, '1行1列')
Worksheet.write(0, 1, '1行2列')# 5.保存数据
New_Excel.save('new_test.xlsx')

Python常用Excell操作 ---- 基于xlrd、xlwt、xlutils相关推荐

  1. Python操作Excel——win32com模块和xlrd+xlwt+xlutils组合

    今天,接到一个任务,要生成大约两百个excel文件,从2006年到2013年,每个月两个文件,这些文件中除了几个关于日期的单元格不同外,其他数据都相同,所以就想到可以用python写一个小脚本,自动生 ...

  2. Python -- xlrd,xlwt,xlutils 读写同一个Excel

    最近开始学习python,想做做简单的自动化测试,需要读写excel,然后就找到了xlrd来读取Excel文件,使用xlwt来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用x ...

  3. python Excel数据处理三兄弟:xlrd/xlwt/xlutils!

    常规的Excel数据处理中,就是对Excel数据文件的读/写/文件对象操作. 通过对应的python非标准库xlrd/xlwt/xlutils,来实现具体的数据处理业务逻辑. 在复杂的Excel业务数 ...

  4. python 当前时间字符串,Python常用时间操作总结【取得当前时间、时间函数、应用等】...

    本文实例讲述了Python常用时间操作.分享给大家供大家参考,具体如下: 我们先导入必须用到的一个module >>> import time 设置一个时间的格式,下面会用到 > ...

  5. python 处理 Excel 模块使用三方库的对比分析(xlrd/xlwt/xlutils/openpyxl)

    xlrd- 读取 Excel 文件 xlwt- 写入 Excel 文件 xlutils - 操作 Excel 文件的实用工具,如复制.分割.筛选等(该领域的先驱) xlwt.wlrd .xlutils ...

  6. python xlrd+xlwt+xlutils处理excel

    ​ import xlwt import os from xlrd import open_workbook from xlutils.copy import copy if os.path.exis ...

  7. python 常用os操作

    operation system 操作系统,os模块获取电脑的相关信息,并且有很强大的文件及文件夹操作能力,所以在操作文件或者文件夹的时候 首先要引入os模块 import os nt代表window ...

  8. Python十大常用文件操作

    日常对于批量处理文件的需求非常多,用Python写脚本可以非常方便地实现,但在这过程中难免会和文件打交道,第一次做会有很多文件的操作无从下手,只能找度娘. 本篇文章整理了10个Python中最常用到的 ...

  9. python获取系统时间函数_Python常用时间操作总结【取得当前时间、时间函数、应用等】...

    本文实例讲述了Python常用时间操作.分享给大家供大家参考,具体如下: 我们先导入必须用到的一个module >>> import time 设置一个时间的格式,下面会用到 > ...

最新文章

  1. 模型加速--CLIP-Q: Deep Network Compression Learning by In-Parallel Pruning-Quantization
  2. 1.18.3.Flink Catalog介绍、Catalog 定义、Catalog 的实现、Catalog 使用举例
  3. matlab求滤波器的冲激响应,在TMS320C5410上用MATLAB实现有限冲激响应滤波器
  4. anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found Import No module named googl
  5. 纠偏的意思_承压能力和纠偏能力,决定成长的高度
  6. nvidia控制面板点了没反应win7_win7系统Nvidia控制面板怎么设置?
  7. python自带网页解析器_Python爬虫Chrome网页解析工具-XPath Helper
  8. 设置mysql表名不区分大小写
  9. 人脸关键点: Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks
  10. python lazy_pinyin模块 isalpha函数
  11. iReport编辑报表,以及打印PDF
  12. 华为认证HCIP-Datacom Advanced Routing Switching Technology 知识点
  13. 用XOM编写GraphML?
  14. RMAN 下CROSSCHECK命令 详解
  15. vmware中Linux虚拟机的克隆
  16. 编码时,不要让字母和数字产生混淆,影响开发判断
  17. Hadoop学习笔记01:学习Linux常用操作命令
  18. 鬼吹灯之牧野诡事(四维数组的坐标搜索)
  19. 统计学习方法04-16 PCA
  20. 添加mshtml.tlb的警告

热门文章

  1. 【学习笔记/PLL】锁相环PLL线性模型理论分析
  2. Android文本长按qq风格,Android仿QQ、微信聊天界面长按提示框效果
  3. Fragment的生命周期
  4. 【初学者技术修炼】毕业生初学者学习前后端技术路线图
  5. 垂直搜索引擎框架(更新中)
  6. java练习,评委打分去掉一个最高分和最低分,求平均值
  7. MACS2 peak calling实战
  8. 科研试剂CAS:1537170-85-6,DBCO-PEG4-acid,DBCO-PEG4-COOH
  9. VMware CentOS7克隆虚拟机并设置网络
  10. RS232串口通信(UART的接收部分)