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读、写、修改操作的更多相关文章

  1. python学习笔记(十三)-python对Excel进行读写修改操作

    日常工作中会遇到Excel的读写问题.我们可以使用xlwt 模块将数据写入Excel表格,使用xlrd 模块从Excel读取数据,使用xlutils模块和xlrd模块结合对Excel数据进行修改.下面 ...

  2. 20 常用模块 hashlib hmac:加密 xml xlrd xlwt:excel读|写 configparser subprocess

    hashlib模块:加密 加密: 1.有解密的加密方式 2.无解密的加密方式:碰撞检查 hashlib -- 1)不同数据加密后的结果一定不一致 -- 2)相同数据的加密结果一定是一致的 import ...

  3. python3 对excel读、写、修改的操作

    一.对excel的写操作实例: 将一个列表的数据写入excel, 第一行是标题,下面行数具体的数据 import xlwt #只能写不能读 stus = [['姓名', '年龄', '性别', '分数 ...

  4. java创建TXT文件并进行读、写、修改操作

    import java.io.*; /**  *   * 功能描述:创建TXT文件并进行读.写.修改操作  *        * @author <a href="mailto:zha ...

  5. java对excel文件内容读写修改操作

    Read.java package domain; import java.io.FileInputStream; import java.io.InputStream; import jxl.Cel ...

  6. Pandas 基础(4) - 读/写 Excel 和 CSV 文件

    这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...

  7. Excel操作类库最常用到的4种开源项目与MS Excel类库写操作对比分析性能

    4种开源Excel读写类库与MS Excel类库写操作对比 软件开发过程中,经常需要将数据保存为.xls或.xlsx文件.之前发现微软提供的Microsoft.Office.Interop.Excel ...

  8. openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库

    openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库¶ https://www.osgeo.cn/openpyxl/index.html

  9. UiPath Excel修改操作

    一.Excel 修改操作 1.删除行 (1)控件介绍 Insert/Delete Rows: 在特定位置添加或删除指定数量的行         常用属性介绍: Destination: NoRows: ...

随机推荐

  1. Coursera Deep Learning笔记 结构化机器学习项目 (上)

    参考:https://blog.csdn.net/red_stone1/article/details/78519599 1. 正交化(Orthogonalization) 机器学习中有许多参数.超参 ...

  2. Java:反射小记

    Java:反射小记 对 Java 中的 反射,做一个微不足道的小小小小记 概念 Java 反射指的是在 Java 程序运行状态中,对于任何一个类,都可以获得这个类的所有属性和方法:对于给定的一个对象, ...

  3. 零基础学习STM32之入门学习路线

    可以说就目前的市场需求来看,stm32在单片机领域已经拥有了绝对的地位,51什么的已经过时了也只能拿来打基础了,最后依然会转到stm32来,也正是因为这样stm32的学习者越来越多,其中不难发现绝大部 ...

  4. Spring Security:简单的保护一个SpringBoot应用程序(总结)

    Spring Security 在 Java类中的配置 在 Spring Security 中使用 Java配置,可以轻松配置 Spring Security 而无需使用 XML . 在Spring ...

  5. 6.深入TiDB:乐观事务

    本文基于 TiDB release-5.1进行分析,需要用到 Go 1.16以后的版本 我的博客地址:: https://www.luozhiyun.com/archives/620 事务模型概述 由 ...

  6. Luogu P2982 [USACO10FEB]慢下来 Slowing down | dfs序、线段树

    题目链接 题目大意: 有一棵N个结点树和N头奶牛,一开始所有奶牛都在一号结点,奶牛们将按从编号1到编号N的顺序依次前往自己的目的地,求每头奶牛在去往自己目的地的途中将会经过多少已经有奶牛的结点. 题解 ...

  7. Windows7下面手把手教你安装Django - Hongten

    我所使用的操作系统是Windows7,内存是2G 在搜索了一些资料发现,对于Django的安装,详细的真的很少,都说的很简化,然而,这篇blog可以手把手教你成功安装Django 对于Django的详 ...

  8. WPF实现统计图

    WPF开发者QQ群: 340500857  | 微信群 -> 进入公众号主页 加入组织 前言 有小伙伴提出需要实现统计图. 由于在WPF中没有现成的统计图控件,所以我们自己实现一个. PS:有更 ...

  9. Spring事务不生效问题

    事务未生效可能造成严重的数据不一致性问题,因而保证事务生效至关重要.Spring事务是通过Spring aop实现的,所以不生效的本质问题是spring aop没生效,或者说没有代理成功,所以有必要了 ...

  10. 使用Magisk+riru实现全局改机

    前言 提到全局改机,我们想到修改的不是修改Android源码就是利用Xposed改机,前者成本太高,后者只能修改Java层的数据不够彻底.magisk是Android平台上功能强大的工具,利用它可以随 ...