python3 excel读、写、修改操作
python3上Excel文件操作的库比较多,新手一开始不知道如何选择合适的库,故整理如下:
xlwt: 只能写不能读,只支持python2.3到python2.7版本,只支持xls文件。xlrd:只能读不能写xlutils:修改并保存openpyxl:可以实现对xlsx格式的读、写、修改,支持python3.x。个人推荐这个库
xlrd
# 打开文件
workbook1 = xlrd.open_workbook(user,formatting_info=False)
# 获取所有sheet
print("所有工作表:",workbook1.sheet_names())
sheet1 = workbook1.sheet_by_index(0)
# 获取整行的值
print(sheet1.row_values(0))
# 获取某个单元格的值,行、列下标均从0开始
print(sheet.cell_value(row,line))
xlutils
# 打开文件
workbook1 = xlrd.open_workbook(user,formatting_info=False)
workbook2 = copy(workbook1)
# xlutils 获取 sheet
sheet_new = workbook2.get_sheet(0)
# 单元格更新,行、列均下标均从0开始
sheet_new.write(row,line,'通过')
# 保存
workbook2.save("../testdata/result.xls")
Openpyxl
- 可以实现读、写、修改Excel文件
- 支持的Excel格式:
- xlsx
- xlsm
- xltx
- Xldm
- 不支持老版本Office2003的xls格式的Excel文档
- Tips:cell的row和column都是从1开始
- 例子1:读取和修改已有Excel文件
import openpyxl
filename="../testdata/user.xlsx"
# 1.打开文件
wb = openpyxl.load_workbook(filename,read_only=False)
print(wb.sheetnames)
# 2.选择工作表
ws = wb[wb.sheetnames[0]]
print(ws)
# 3.遍历单元格
for row in ws.rows:
for cell in row:
print(cell.value)
# 4.存储数据
# 方式一:数据可以直接分配到单元格中(可以输入公式)
ws['A1'] = 42
ws.cell(row=1,column=2, value="test")
# 方式二:可以附加行,从第一列开始附加(从最下方空白处,最左开始)(可以输入多行)
ws.append([1, 2, 3])
# 方式三:Python 类型会被自动转换
ws['A3'] = datetime.datetime.now().strftime("%Y-%m-%d")
# 5.保存数据
wb.save('文件名称.xlsx')
- 例子2:创建和保存Excel文件
# 1、导入openpyxl模块
import openpyxl
# 2、创建ExcelBook对象
excelBook = openpyxl.Workbook()
# 3、创建Excel Book 对象时会默认生成一个sheet对象,可通过active获取sheet对象
sheetName = excelBook.active # 获取当前 sheet 对象
# sheet对象.title获取sheet对象名称
print("创建Excel Book 对象时会默认生成sheet名称:" , sheetName.title)
# 4、sheet对象.title修改默认sheet名称
sheetName.title = 'Test'
print("修改后的sheet名称:" , sheetName.title)
# 5、新建sheet对象
# Book对象.creat_sheet(title , index)方法可实现创建sheet功能
# title:非必填参数,sheet名称,默认名称为Sheet
# index:非必填参数,sheet位置,其中0代表第一个位置,1代表第二个位置,默认最后
excelBook.create_sheet('测试') # 新建测试sheet位于最后
参考:
http://www.52codes.net/develop/shell/58896.html
https://www.jianshu.com/p/ce2ba7caa414
python3 excel读、写、修改操作的更多相关文章
- python学习笔记(十三)-python对Excel进行读写修改操作
日常工作中会遇到Excel的读写问题.我们可以使用xlwt 模块将数据写入Excel表格,使用xlrd 模块从Excel读取数据,使用xlutils模块和xlrd模块结合对Excel数据进行修改.下面 ...
- 20 常用模块 hashlib hmac:加密 xml xlrd xlwt:excel读|写 configparser subprocess
hashlib模块:加密 加密: 1.有解密的加密方式 2.无解密的加密方式:碰撞检查 hashlib -- 1)不同数据加密后的结果一定不一致 -- 2)相同数据的加密结果一定是一致的 import ...
- python3 对excel读、写、修改的操作
一.对excel的写操作实例: 将一个列表的数据写入excel, 第一行是标题,下面行数具体的数据 import xlwt #只能写不能读 stus = [['姓名', '年龄', '性别', '分数 ...
- java创建TXT文件并进行读、写、修改操作
import java.io.*; /** * * 功能描述:创建TXT文件并进行读.写.修改操作 * * @author <a href="mailto:zha ...
- java对excel文件内容读写修改操作
Read.java package domain; import java.io.FileInputStream; import java.io.InputStream; import jxl.Cel ...
- Pandas 基础(4) - 读/写 Excel 和 CSV 文件
这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...
- Excel操作类库最常用到的4种开源项目与MS Excel类库写操作对比分析性能
4种开源Excel读写类库与MS Excel类库写操作对比 软件开发过程中,经常需要将数据保存为.xls或.xlsx文件.之前发现微软提供的Microsoft.Office.Interop.Excel ...
- openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库
openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库¶ https://www.osgeo.cn/openpyxl/index.html
- UiPath Excel修改操作
一.Excel 修改操作 1.删除行 (1)控件介绍 Insert/Delete Rows: 在特定位置添加或删除指定数量的行 常用属性介绍: Destination: NoRows: ...
随机推荐
- 【UE4 设计模式】外观模式 Facade Pattern
概述 描述 外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用.外观模式又称为门面模式,它是一 ...
- RF射频传输,原理介绍,三分钟看懂!发射功率、接收灵敏度详解!
射频是什么? 官方说法:RF,Radio Frequency. (不懂的人,看了还是不懂,不过对于物联网行业的开发工程师.产品经理和项目经理,还是有需要对射频有个基础了解的.) 燚智能解读: 两个人, ...
- OpenWrt编译报错:Package airfly_receiver is missing dependencies for the following libraries
今天在编译一个OpenWrt测试用例的时候出现报错 Package airfly_receiver is missing dependencies for the following librarie ...
- 视频编码GOP
GOP group of pictures GOP 指的就是两个I帧之间的间隔. 比较说GOP为120,如果是720 p60 的话,那就是2s一次I帧. 在视频编码序列中,主要有三种编码帧:I帧.P帧 ...
- 转载:使用Xilinx IP核进行PCIE开发学习笔记(一)简介篇
https://zhuanlan.zhihu.com/p/32786076 最近接触到一个项目,需要使用PCIE协议,项目要求完成一个pcie板卡,最终可以通过电脑进行通信,完成电脑发送的指令.这当中 ...
- [转]技术往事:改变世界的TCP/IP协议
原文链接 : http://www.52im.net/thread-520-1-1.html 1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UD ...
- sed tr 批量转换邮箱格式 去除"\n" 行尾添加";"
1:从phpmyadmin上拿下来的数据是这样的: 2:od -c 发现存在\r\n (windows上编码问题) $ od -c sql.csv 先将\r处理掉 $ sed 's/\r//' sql ...
- 【接口】SpringBoot+接口开发(一)
一.接口的简单介绍 1.什么是接口:接口及服务: 2.接口的分类:(1)系统的内部接口;(2)第三方的外部接口; 3.简述接口原理图: 4.接口协议:是指客户端跟服务器之间或者接口与接口间进行的通讯时 ...
- Linux 用户&用户组
用户和用户组的概念 用户 ---> 使用操作系统的人 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系 ...
- loadrunner12自带的机票预订服务,解决httpd: Could not reliably determine the server's fully qualified domain name 问题
遇到以上问题是在启动loadrunner12自带的机票预订服务器情况下遇到的,错误提示如下图: 解决方案: 编辑httpd.conf 文件,加入一句 ServerName localhost:1080 ...