详细内容

最近看到好几次群里有人问xlwt、wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用office2003的有点说不过去吧。有人可以用xlsx保存为xls啊!——故意多做几步操作,目的呢?为了兼容?兼容古老的office2003?而且,既然都用python来操作excel了,还要手动保存一遍文件,这是神马思路?

所以,我还是觉得,应该放弃xls而转型xlsx。所以才有了这篇文章——xlwt、wlrd只能读写xls文件,而不能操作xlsx文件。

解决方案:openpyxl。这是一个非常简单的库,有几分钟就能上手了。安装非常简单,pip install openpyxl一步搞定,我就主要来说说对excel的操作。当然,前面废话那么多,同学们差不多也能猜到了吧,openpyxl只能操作xlsx文件而不能操作xls文件。

1、基本概念

在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。Workbook就是一个excel工作表;Sheet是工作表中的一张表页;Cell就是简单的一个格。openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。下面分读和写分别介绍几个常见的方法。

2、读取xlsx

为了做实验,我事先准备好了一个excel文档,里面有Sheet1,Sheet2,Sheet3这三个页,在Sheet3中填入了如下内容:

首先用from openpyxl import load_workbook

引入库wb = load_workbook("template.xlsx")

打开一个xlsx文件print(wb.sheetnames) # ['Sheet1', 'Sheet2', 'Sheet3']

可以看看打开的Excel里有哪些sheet页sheet = wb.get_sheet_by_name("Sheet3")

读取到指定的Sheet页,sheet就变得神奇了,想要的内容都在这里。比如:print(sheet["C"]) # (, , , , , , , , , )

print(sheet["4"]) # (, , , , )

print(sheet["C4"].value) # c4

print(sheet.max_row) # 10

print(sheet.max_column) # 5

for i in sheet["C"]:

print(i.value, end=" ") # c1 c2 c3 c4 c5 c6 c7 c8 c9 c10

写入xlsx

首先用from openpyxl import Workbook

wb = Workbook()

创建一个工作表,然后sheet = wb.active

找到活动的sheet页。空的excel表默认的sheet页就叫Sheet,如果想改名字,可以直接给title属性赋值。sheet.title = "New Shit"

这个属性是可读可写的。当然,这个只针对当前活动页,别的页的话,可以用create_sheet和remove_sheet进行添加和删除。

往sheet页里面写内容就比较简单了,跟上面读一样,sheet['C3'] = 'Hello world!'

for i in range(10):

sheet["A%d" % (i+1)].value = i + 1

我们还可以进行花式操作,比如写写公式:sheet["E1"].value = "=SUM(A:A)"

最后记得保存wb.save('保存一个新的excel.xlsx')

python如何启动excel_如何用python打开excel相关推荐

  1. python如何编写excel_如何用Python编写Excel

    是的,CSV和TSV文件非常容易处理,特别是与Excel相比,Excel中有各种各样的对象.格式等.请尝试使用下面的简单脚本来写入Excel文件.在import xlsxwriter # Create ...

  2. 用python开启相机_如何用Python打开realsenseD435相机并获取相机参数

    如何用Python打开realsenseD435相机 import pyrealsense2 as rs import numpy as np import cv2 if __name__ == &q ...

  3. pycharm如何更改python项目环境_如何用Pycharm打开已有项目配置python环境

    如何用Pycharm打开已有项目配置python环境 发布时间:2020-07-06 11:06:30 来源:亿速云 阅读:175 作者:清晨 这篇文章将为大家详细讲解有关如何用Pycharm打开已有 ...

  4. python怎么读_如何用Python读写文件

    前面我们已经介绍了很多Python相关的基础知识,大家是不是对Python已经有了进一步认识了呢?作为人工智能时代的热门编程语言,开始接触并学习Python的孩子越来越多,家长们都不想让自己的孩子落于 ...

  5. python大数据分析实例-如何用Python分析大数据(以Twitter数据挖掘为例)

    原标题:如何用Python分析大数据(以Twitter数据挖掘为例) 来源:艾翻译(http://www.itran.cc/) 原文标题:Twitter Data Mining: A Guide to ...

  6. 2019最新Python学习路线图:如何用Python创建微信机器人

    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的最新Python学习路线教程便是如何用Python来做一个微信聊天机器人,突然想起鲁迅先生曾经说过 ...

  7. python 英语分词_如何用Python做中文分词?

    打算绘制中文词云图?那你得先学会如何做中文文本分词.跟着我们的教程,一步步用Python来动手实践吧. 需求 在<如何用Python做词云>一文中,我们介绍了英文文本的词云制作方法.大家玩 ...

  8. aes加密算法python语言实现_如何用Python实现AES CCM的加解密

    1.简介 AES CCM被广泛应用于现代通讯中,在学习过程中需要验证数据的加解密的结果,那么有个方便修改的Python脚本工具就是一个迫切的需求. 2. 实施 我们下面介绍如何实现AES CCM的Py ...

  9. python三门问题_如何用 Python 解读著名的“三门问题”?

    原标题:如何用 Python 解读著名的"三门问题"? 作者 | 小詹 责编 | 郭芮 本文我们用Python分析著名的"三门问题". 不过在这之前 ,可以先来 ...

最新文章

  1. 替代离线RL?Transformer进军决策领域,「序列建模」成关键
  2. UnicodeEncodeError\: gbk codec cant encode character \\xa1 in position 9699的解决办法
  3. Machine Learning | (6) Scikit-learn的分类器算法-性能评估
  4. 在springBoot中使用Mapper类问题_@Mapper_@MapperScan_xml文件跟mapper分开_xml文件跟mapper在同一个目录下
  5. 重磅推荐!日立开源语义分割数据集标注工具Semantic Segmentation Editor
  6. java 反射 单例类_利用反射机制破坏单例模式
  7. linux开机到登陆的流程图,1-描述linux开机到登陆界面的启动过程.docx
  8. 浅谈 HTTPS 和 SSL/TLS 协议的背景与基础
  9. mysql自增 java_如何在java中自动增加mysql中的用户id
  10. python软件_Python软件的下载与安装
  11. 程序员面试金典——4.4输出单层结点
  12. 学生考勤及行为管理系统_高校学生考勤管理系统
  13. Android如何获取唯一ID
  14. 解决大多数pip install出现Could not install packages due to an EnvironmentError错误
  15. unexpected error while obtaining UI hierarchy
  16. 那些酷炫的网页你也可以做到——第六篇(表单标签)
  17. [USACO18JAN]Lifeguards P 洛谷黑题,单调队列优化DP
  18. mfc opengl 三维地形图_深圳pmax巨影三维扫描仪
  19. Win 11 预览版虚拟机安装
  20. android——沙漏计时器

热门文章

  1. Oracle表空间(Tablespace)
  2. windows好用的还原软件
  3. OpenGLES—API(gl2.h)
  4. PDF怎么转换成CAD?PDF转CAD教程分享
  5. 学校计算机网络教室管理员职责,福建广播电视大学计算机网络教室管理人员工作职责...
  6. 计算机网络:网络安全(网络安全概述)
  7. 因为计算机丢失uxtheme.dll,解决Win10开机提示uxtheme.dll丢失的方法
  8. 基于SSH开发学生公寓管理系统
  9. 【鹏哥C语言网课笔记】初识C语言
  10. 使用Kotlin实现百思不得姐弹出菜单