首页 > 编程语言 >python读写excel文件调研

python读写excel文件调研

时间:2023-03-10 10:13:02浏览次数:31  
标签:sheet sheetName python 读写 单元格 excel value 获取 workBook

xlrd、xlwt和openpyxl模块的比较:

1)xlrd:对xls、xlsx、xlsm文件进行读操作–读操作效率较高,推荐
2)xlwt:对xls文件进行写操作–写操作效率较高,但是不能执行xlsx文件
3)openpyxl:对xlsx、xlsm文件进行读、写操作–xlsx写操作推荐使用

一、xlrd:对xls、xlsx文件进行读操作
1.获取工作簿对象:xlrd.open_workbook()
workBook = xlrd.open_workbook(filemname):打开Excel文件读取数据
注:filemname为文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符。

import xlrd
filename=r'D:\360极速浏览器下载\文件阅读记录表.xls'
workBook=xlrd.open_workbook(filename)

2.获取工作表(sheet)对象
1)workBook.sheet_names():获取所有sheet页的名字,返回一个列表
2)sheetName = workBook.sheet_by_name(‘sheet1’):根据sheet页的名字获取指定表名的表,返回的是一个对象
3)sheetName = workbook.sheet_by_index(0):根据sheet索引获取对应sheet表(索引是从0开始的),返回的是一个对象

3.获取sheet的名称:name
sheetName.name:获取sheet的名称

4.获取行数和列数:nrows、ncols
sheetName.nrows:获取表格的总行数
sheetName.ncols:获取表格的总列数

5.获取整行或整列的值(数组):row_values、col_values
rows = sheetName.row_values(0)  # 获取第一行内容,返回一个列表
cols = sheetName.col_values(0)  # 获取第一列内容,返回一个列表

6.获取指定单元格的值:cell(a,b).value、row(1)[0].value
sheetName.cell(1,0).value:获取第2行第一列的单元格数据
sheetName.row(1)[0].value:获取第2行第一列的单元格数据

7.获取单元格内容的数据类型:ctype
sheetName.cell(1,0).ctype
注:返回为代表数据类型的值,编码分别代表:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

二、xlwt:对xls文件进行写操作
1.新建工作簿:xlwt.Workbook()
workBook = xlwt.Workbook() :新建工作簿

2.在工作簿中新建sheet页:add_sheet()
table = workBook .add_sheet(‘Over’,cell_overwrite_ok=True) # 如果对同一单元格重复操作会发生overwrite Exception,cell_overwrite_ok为可覆盖
sheet = workBook .add_sheet(sheet_name):新增sheet表

import xlwt
wb=xlwt.Workbook(encoding='utf-8')  # 创建一个工作薄
sheet=wb.add_sheet('文件阅读记录信息表') # 创建一个工作表

3.向表格中写入数据:write(i,j,value)
sheet.write(i,j,value) :向单元格(i,j)写入数据value

4.保存工作簿:save()
workBook.save(path)


三、openpyxl:对xlsx文件进行写操作
1.新建工作簿:openpyxl.Workbook()
workBook = openpyxl.Workbook() :新建工作簿

2.在工作簿中新建sheet页:create_sheet()
sheet = workBook .create_sheet(sheet_name):新增sheet表:sheet_name

3.向表格中写入数据:cell(i,j,value) --索引从1计数
sheet= workBook .active :获得当前活跃的工作页,默认为第一个工作页
sheet.cell(i,j,value) :向单元格(i,j)第i行第j列写入数据value
注意:行号和列号都从1开始计数,即(1,1)为第一行第一列

4.保存工作簿:save()
workBook .save(path)

四、openpyxl:对xlsx文件进行读操作
1.获取工作簿对象:openpyxl.load_workbook()
workBook = openpyxl.load_workbook(filemname):读取xlsx文件
注:filemname为文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符。

2.获取工作表(sheet)对象
1)workBook.get_sheet_names():获取所有sheet页的名字(所有工作表名)
2)sheetName = workBook.get_sheet_by_name(‘sheet1’):根据sheet页的名字获取指定表名的表
3)sheetName = workbook.worksheets[0]:根据sheet索引获取对应sheet表

3.获取sheet的名称:title
sheetName.title:获取sheet的名称

4.获取行数和列数:max_row、max_column
sheetName.max_row:获取表格的总行数
sheetName.max_column:获取表格的总列数

5.获取整行或整列的值(数组):rows[i]、columns[i]
rows = sheetName.rows:获取每一行内容,这是一个生成器,里面是每一行数据,每一行数据由一个元组类型包裹
cols = sheetName.columns :获取每一列内容,同上
sheetName.rows[0]:获取第一行内容–索引从0计数
sheetName.columns[0]:获取第一列内容–索引从0计数

6.获取指定单元格的值:cell(a,b).value–索引从1计数
sheetName[‘A1’].value:获取第1行第一(A)列的单元格数据
sheetName.cell(1,1).value:获取第1行第一列的单元格数据
注:此处的行数和列数都是从1开始计数的,而在xlrd中是由0开始计数的

标签:sheet,sheetName,python,读写,单元格,excel,value,获取,workBook
From: https://www.cnblogs.com/qiuqiu21/p/15745297.html

相关文章

  • python环境安装
    安装python1、python下载链接:https://www.python.org/downloads/windows/2、安装python 傻瓜式安装请注意,一定要勾选 AddPython3.8toPATH,这样可以将Python命令......
  • Python 爬虫之 xpath
    0x01XML基础xpath是在XML文档中搜索内容的一门语言HTML是XML的一个子集XML代码举例:<book><isbn>978xxxxxxxx</isbn><name>XML从入门到精通</name......
  • Excel多线程导出大数据量
    以下是Java的EasyExcelAPI实现多线程Excel导出的demo。在这个demo中,我们使用EasyExcelAPI来导出Excel文件。我们将表头和内容定义为动态的,以便能够处理大量的数据。我......
  • 安装python3 for Centos
     以安装3.7.5为例下载安装包wgethttp://npm.taobao.org/mirrors/python/3.7.5/Python-3.7.5.tar.xz 解压xz-dPython-3.7.5.tar.xztar-xfPython-3.7.5.tar......
  • python中的时间处理
    python程序编写中的时间处理涉及三种:1、时间的显示;2、时间的转换;3、时间的运算。时间处理模块:time模块时间的三种表示方式:①时间戳,从1970年1月1日开始,每过1s增加1,如......
  • 实验1 Python开发环境使用和编程初体验
    #实验任务1#1.1.py#用法1print('hey,u')#用法2print('hey','u')x,y,z=1,2,3print(x,y,z)#用法3print('x=%d,y=%d,z=%d'%(x,y,z))print('x={},y={},z={}'.for......
  • Python Collections
    CollectionsPython的集合(collections)模块,为很多用其他方法很难实现的场景提供了解决方案。通俗说法:Python内置的数据类型和方法,collections模块在这些内置类型的基础提供......
  • Python 异常捕获与处理
    异常捕获和处理一、基础知识1、什么是异常当我们写程序难免遇到报错,专业的称呼叫做异常,行业俗语叫做bug,由于异常情况出现会导致代码停止运行,所以在编写过程中要尽可能避......
  • python list 列表的未位添加 append方法
    #定义列表li=["a","b"]#未位添加li.append("c")print(li)#再次添加li.append("d")print(li)......
  • python list 列表的未位吞并 列表1吃掉列表2
    #列表1要吃掉列表2li1=["a","b","c"]li2=[1,2,3]li1.extend(li2)print(li1)print("列表1变多了")print(li2)print("列表2不发生变化")......