python openpyxl的使用方法

目录
  • 生成新Excel
    • 创建Sheet的三种方法
    • 给Sheet中某cell赋值
    • 赋值cell的值
  • 读取Excel
    • 加载文件
    • 获取sheet
  • 一个例子
    • 首先创建一个tab页
    • 收集数据
    • 保存总成绩
  • 总结

生成新Excel

from openpyxl import Workbook
from openpyxl.utils import get_column_letter

wb = Workbook()

dest_filename = 'empty_book.xlsx'

ws1 = wb.active
ws1.title = "range names"

for row in range(1, 40):
    ws1.append(range(600))
ws2 = wb.create_sheet(title="Pi")
ws2['F5'] = 3.14

ws3 = wb.create_sheet(title="Data")
for row in range(10, 20):
    for col in range(27, 54):
        _ = ws3.cell(column=col, row=row, value="{0}".format(get_column_letter(col)))
print(ws3['AA10'].value)

wb.save(filename=dest_filename)

一共创建了三个Sheet

创建Sheet的三种方法

ws1 = wb.create_sheet("Mysheet") # 在末尾添加
# or
ws2 = wb.create_sheet("Mysheet", 0) # 在开头添加
# or
ws3 = wb.create_sheet("Mysheet", -1) # 在倒数第二位添加

给Sheet中某cell赋值

ws2['F5'] = 3.14

赋值cell的值

ws3.cell(column=col, row=row, value="{0}".format(get_column_letter(col)))

读取Excel

from openpyxl import load_workbook
wb = load_workbook(filename = 'empty_book.xlsx')
sheet_ranges = wb['range names']
print(sheet_ranges['D18'].value)

加载文件

wb = load_workbook(filename = 'empty_book.xlsx')

获取sheet

sheet_ranges = wb['range names']

一个例子

我们的目标是将相同考号的数据放入到一行中,并计算总成绩

首先创建一个tab页

这里需要注意直接

ws = wb['总成绩']

肯定不行,因为这时候没有这个tab呢 直接就会报 KeyError: 'Worksheet 总成绩 does not exist.' 所以需要先检查一下tab页是否存在

if not '总成绩' in wb.sheetnames:
    wb.create_sheet('总成绩')
ws = wb['总成绩']

需要注意的是最后一定要进行保存操作,否则无用 wb.save('first.xlsx')

收集数据

# 对每个tab中的分数数据进行收集,放入对应的数据行中

for pos, tabName in enumerate(wb.sheetnames):
    if tabName != '总成绩':
        wstt = wb[tabName]
        for row in wstt.iter_rows(min_row=2, values_only=True):
            for ind, code in enumerate(ws['A']):
                if code.value == row[0]:
                    ws.cell(ind + 1, 4 + pos, row[2])
                    break

保存总成绩

一开始直接用多字段相加

for po, row in enumerate(ws.iter_rows(min_row=2, values_only=True)):
    ws.cell(po + 1, 3, 0 + row[3] + row[4] + row[5] + row[6] + row[7] + row[8] + row[9])

报错如下

ws.cell(po + 1, 3, 0 + row[3] + row[4] + row[5] + row[6] + row[7] + row[8] + row[9])
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

原因是其中存在NoneType,int和NoneType不能相加。 可以用int(value or 0)来将对应的None, 0, [], ""这些Python认为是False的转换为1。

总结

人生苦短,我用 Python,在强大的Python帮助下,我们只需几行代码就可以生成我们想要的Excel。

以上就是python openpyxl的使用方法的详细内容,更多关于python openpyxl的使用的资料请关注我们其它相关文章!

(0)

相关推荐

  • python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单

    首先,那肯定是用python获取学校发下来的未学习名单,但是我忘记我之前用什么来操作办公软件了(最后项目作出来的时候才想起来是pandas),我就上网搜了一下,试了很多库但是都不支持xlsx文件格式(只支持最老版本的xls),最终openpyxl成功的读取了xlsx文件,于是我就用了openpyxl库来读取文件,下面是python代码 studyedstudent = [] wb = load_workbook(xlsx_path) sheets = wb.worksheets # 获取当前所有

  • Python利器openpyxl之操作excel表格

    python处理数据时,可以将数据保存至excel文件中,此处安利一个python利器,openpyxl,可以自动化处理数据值excel表格中. 1.安装 pip install openpyxl 2.使用 在使用前,需理清excel的几个概念 workbook:工作薄,即一个excel文件 worksheet:工作表,一个excel文件包含多个sheet,即包含多个工作表 colunm:列,excel中一竖列 row:行,excel中一横行 cell:单元格,组成工作表的最小单位 2.1 Wo

  • Python离线安装openpyxl模块的步骤

    openpyxl模块离线安装 背景: 公司的防火墙限制,无法使用pip在线安装,开墙的审批流程较为繁琐,故采取离线安装的方式. 步骤如下: 1.官网https://pypi.org/project/jdcal/#files下载jdcal安装压缩包: 2. 官网https://pypi.org/project/et_xmlfile/1.0.1/#files下载xmlfile安装压缩包: 3.官网https://pypi.org/project/openpyxl/2.6.4/#files下载open

  • python 使用openpyxl读取excel数据

    openpyxl介绍 ​ openpyxl是一个开源项目,它是一个用于读取/写入Excel 2010文档(如xlsx .xlsm .xltx .xltm文件 )的Python库,如果要处理更早格式的Excel文档(xls),需要用到其它库(如:xlrd.xlwt等),这是openpyxl比较其他模块的不足之处.openpyxl是一款比较综合的工具,不仅能够同时读取和修改Excel文档,而且可以对Excel文件内单元格进行详细设置,包括单元格样式等内容,甚至还支持图表插入.打印设置等内容. ​ p

  • 解决python 使用openpyxl读写大文件的坑

    由于需要处理xlsx类型的文件,我使用了openpyxl来处理,然而文件比较大,大约有60多MB.读文件的时候虽然慢了一点,但还是能够读出来,但是当我想写入时却报错了. 显示设备没有多余的空间,百度了一下,发现有不少关于openpyxl读写大文件的问题.总结来看,解决方案主要有以下两种,当然,我两种都用上了. 手动释放内存 del wb, ws gc.collect() 这一招还算有用,在读完文件后可以看到内存占用明显下降了一点. 安装lxml 使用命令·pip install lxml安装依赖

  • python使用openpyxl库读写Excel表格的方法(增删改查操作)

    一.前言 嗨,大家好,我是新发. 最近需要做个小工具,可以通过python来读写Excel,实现增删改查操作.以前用的是xlrd和xlwt这两个python库,今天我要讲的是openpyxl库,我觉得openpyxl比xlrd和xlwt更强大更好用,话不多说,开始吧. 二.安装openpyxl 可以直接通过命令行安装 pip install openpyxl 如果你是内网环境,则可以先在外网下载openpyxl库然后转到内网再安装. openpyxl下载地址:https://pypi.org/p

  • python openpyxl 带格式复制表格的实现

    有合并单元格的,先把合并单元格复制过去,合并单元格用wm=list(zip(wbsheet.merged_cells))得出合并单元格列表,把其中的(<CellRange A1:A4>,) 替换成为A1:A4格式 再从新表中合并单元格 再用.has_style: #拷贝格式 测试是否有格式,再复制格式和数据 其中: font(字体类):字号.字体颜色.下划线等 fill(填充类):颜色等 border(边框类):设置单元格边框 alignment(位置类):对齐方式 number_format

  • Python Excel处理库openpyxl详解

    Python中的penpyxl是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装. penpyxl读取Excel文件 需要导入相关函数 from openpyxl import load_workbook # 默认可读写,若有需要可以指定write_only和read_only为True wb = load_workbook('pythontab.xlsx') 默认打开的文件为可读写,若有需要可以指定参数read_only为True. penpyx

  • Python openpyxl 无法保存文件的解决方案

    使用openpyxl保存文件的时候,出现最下面异常,查看openpyxl 的版本是2.5.14, 把openpyxl降级就可以解决此问题. [root@billig mytest]# pip install openpyxl==2.5.11 DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be ma

  • python openpyxl的使用方法

    目录 生成新Excel 创建Sheet的三种方法 给Sheet中某cell赋值 赋值cell的值 读取Excel 加载文件 获取sheet 一个例子 首先创建一个tab页 收集数据 保存总成绩 总结 生成新Excel from openpyxl import Workbook from openpyxl.utils import get_column_letter wb = Workbook() dest_filename = 'empty_book.xlsx' ws1 = wb.active

  • Python openpyxl 遍历所有sheet 查找特定字符串的方法

    如下所示: from openpyxl import workbook from openpyxl import load_workbook from openpyxl import worksheet def find_false_in_sheet(sheet): for column in sheet.iter_cols(): for cell2 in column: if cell2.value is not None: # print cell2.value # print type(c

  • python操作excel的方法

    摘要: Openpyxl是一个常用的python库,用于对Excel的常用格式及其模板进行数据读写等操作. 简介与安装openpyxl库 Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files. 安装 pip install openpyxl pillow:在文件中需要使用images (jpeg, png, bmp,...)时,需要安装pillow库. 注意:写操作时请关

  • Python openpyxl模块原理及用法解析

    这篇文章主要介绍了Python openpyxl模块原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 此模块不是Python内置的模块需要安装,安装方法如下 pip install openpyxl 注意: 此模块只支持offce 2010,即是电子表格后缀是*.xlsx 1.openpyxl模块常用函数 import openpyxl wb = openpyxl.load_workbook('example.xlsx') ####

  • python openpyxl模块的使用详解

    Python_Openpyxl 1. 安装 pip install openpyxl 2. 打开文件 ① 创建 from openpyxl import Workbook # 实例化 wb = Workbook() # 激活 worksheet ws = wb.active ② 打开已有 >>> from openpyxl import load_workbook >>> wb2 = load_workbook('文件名称.xlsx') 3. 储存数据 # 方式一:数据

  • Python中pygame安装方法图文详解

    本文实例讲述了Python中pygame安装方法.分享给大家供大家参考,具体如下: 这里主要描述一下我们怎样来安装pygame 可能很多人像我一样,发现了pygame是个好东东,但是就是不知道怎样使用,或者怎样安装,在百度/google上面搜索了一番后,发现没有一篇 详细描述pygame的安装过程的文章.如果你是其中的一员,那么这篇教程可能会帮助到你. 当然,在学习pygame的时候,需要你要有一定的python基础知识的.如果你已经具备了一定的python基础,那么接下来的内容可能对你来说就很

  • 使用Python生成XML的方法实例

    本文实例讲述了使用Python生成XML的方法.分享给大家供大家参考,具体如下: 1. bookstore.py #encoding:utf-8 ''' 根据一个给定的XML Schema,使用DOM树的形式从空白文件生成一个XML. ''' from xml.dom.minidom import Document doc = Document() #创建DOM文档对象 bookstore = doc.createElement('bookstore') #创建根元素 bookstore.set

  • Python实现栈的方法

    本文实例讲述了Python实现栈的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python #定义一个列表来模拟栈 stack = [] #进栈,调用列表的append()函数加到列表的末尾,strip()没有参数是去掉首尾的空格 def pushit(): stack.append(raw_input('Enter new string: ').strip()) #出栈,用到了pop()函数 def popit(): if len(stack) == 0: p

  • Windows下安装Redis及使用Python操作Redis的方法

    首先说一下在Windows下安装Redis,安装包可以在https://github.com/MSOpenTech/redis/releases中找到,可以下载msi安装文件,也可以下载zip的压缩文件. 下载zip文件之后解压,解压后是这些文件: 里面这个Windows Service Documentation.docx是一个文档,里面有安装指导和使用方法. 也可以直接下载msi安装文件,直接安装,安装之后的安装目录中也是这些文件,可以对redis进行相关的配置. 安装完成之后可以对redi

  • python计算时间差的方法

    本文实例讲述了python计算时间差的方法.分享给大家供大家参考.具体分析如下: 1.问题: 给定你两个日期,如何计算这两个日期之间间隔几天,几个星期,几个月,几年? 2.解决方法: 标准模块datetime和第三方包dateutil(特别是dateutil的rrule.count方法)能非常简单迅速的帮你解决这个问题. from dateutil import rrule import datetime def weeks_between(start_date, end_date): week

随机推荐