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库。

注意:写操作时请关闭需要操作的excel文件,否则写不成功

加载xlsx操作内容

加载外部excel的xlsx步骤:

加载xlsx文件,获得该文件的句柄,为workbook

from openpyxl import load_workbook
wb2 = load_workbook('test.xlsx')
print wb2.get_sheet_names()
# ['Sheet2', 'New Title', 'Sheet1']

在内存中新建workbook

创建 workbook

开始使用openpyxl,没有必要在文件系统上创建一个文件。

只需要导入Workbook类并开始使用它。可以把wordbook想象成一个excel文件。

from openpyxl import Workbook
wb = Workbook()
workbook创建后至少至少要创建一个worksheet。使用 openpyxl.workbook.Workbook.active()
ws = wb.active

该方法使用了_active_sheet_index属性, 默认会设置0

创建worksheet

使用 openpyxl.workbook.Workbook.create_sheet() 创建新的worksheet

ws1 = wb.create_sheet("new_sheet_1") # 新建sheet,插入到最后(默认)
ws2 = wb.create_sheet("new_sheet_2", 0) # 插入到最开始的位置

指定worksheet的名称

不指定sheet名称时,按照sheet,sheet1,sheet2自动增长

ws3 = wb.create_sheet()

自定义worksheet名称,通过title属性指定名称,设置了sheet的名称

ws3.title = "new_sheet_3"

输出wb现在所有的sheetname查看

通过 openpyxl.workbook.Workbook.sheetnames() 输出wb现在所有的sheetname

print wb.get_sheet_names()
print(wb.sheetnames)

循环

for sheet in wb:
print(sheet.title)

指定worksheet tab按钮的颜色

新建的sheet tab颜色为白色,可以另外指定sheet tab按钮的颜色

ws3.sheet_properties.tabColor = "1072BA"

激活某个worksheet

通过worksheet名称激活某个sheet使用

名称看成workbook中的一个key

ws3 = wb["new_sheet_3"]

通过 _active_sheet_index 激活某个sheet使用

wb._active_sheet_index = 1 # 获取第二个sheet

创建worksheet副本

使用 openpyxl.workbook.Workbook.copy_worksheet() 创建worksheet副本

source = wb.active
target = wb.copy_worksheet(source)

只能复制cell和style。不能复制工作表之间的工作簿。

操作单元格

当worksheet在内存中被创建时,是没有包含cells的,cells是在首次访问时创建

单元格可以看作是worksheet的key,通过key去访问单元格中的数据

c = ws['A3'] # 访问单元格,不存在则会自动创建一个
print c.value
ws['A4'] = 'a4 value' # 指定单元格的值
print ws['A4'].value
d = ws.cell(row=4, column=2, value='通过cell指定') # 通过row column数字指定
print d.value

循环在内存中创建cells

不用指定其值也可以在内存中创建

for i in range(1, 10):
for j in range(1, 10):
ws.cell(row=i, column=j)

通过切片Ranges指定许多cells

cell_range = ws['A1':'C2']

也可以Ranges rows 或者columns

print ws['C']
print ws['C:D']
print ws[10]
print ws[5:10]

也可以使用iter_rows() 指定行->行,截止列

for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
for c in row:
print(c)
iter_cols() 指定列->列,截止行
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
for c in row:
print(c)

遍历所有文件的行或列

ws['C9'] = 'hello world'
tuple(ws.rows) # 转化成tuple方便for in操作
tuple(ws.columns)

保存文件

wb = Workbook()
wb.save("assets/sample.xlsx")

此操作将覆盖现有的文件没有警告。

所有的操作都需要保存到excel才能看见

保存为模板

指定属性 as_template=True ,就可以将文档保存为模板.xltx

wb = load_workbook('document.xlsx')
wb.template = True
wb.save('document_template.xltx')

或者将该属性设置为False(默认),另存为一个文档:

wb = load_workbook('document_template.xltx')
wb.template = False
wb.save('document.xlsx', as_template=False)

使用公式

wb = load\_workbook\('assets/sample.xlsx'\)
ws = wb.active
ws\["A5"\] = "=SUM\(2, 1\)"
wb.save\("assets/sample.xlsx"\)

总结

以上所述是小编给大家介绍的python操作excel的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • python实现对excel进行数据剔除操作实例

    前言 学习Python的过程中,我们会遇到Excel的各种问题.下面这篇文章主要给大家介绍了关于python对excel进行数据剔除操作的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. Python解析Excel时需要安装两个包,分别是xlrd(读excel)和xlwt(写excel),安装方法如下: pip install xlrd pip install xlwt 需求分析: 判断excel2表中的某个唯一字段是否满足条件,如果满足条件,就在excel1中进行查询

  • python针对excel的操作技巧

    一. openpyxl读 95%的时间使用的是这个模块,目前excel处理的模块,只有这个还在维护 1.workBook workBook=openpyxl.load_workbook('path(.xlsx)').encode('gbk') print workBook 2.sheet sheetList=workBook.get_sheet_names() 获取所有sheet的名称,保存为列表格式 print sheetList 3.cell (1)sheet1=workBook.get_s

  • python高手之路python处理excel文件(方法汇总)

    用python来自动生成excel数据文件.python处理excel文件主要是第三方模块库xlrd.xlwt.xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块. 方法一: 小罗问我怎么从excel中读取数据,然后我百了一番,做下记录 excel数据图(小罗说数据要给客户保密,我随手写了几行数据): python读取excel文件代码: #!/usr/bin/env python # -*- coding: utf-

  • Python操作Excel插入删除行的方法

    1. 前言 由于近期有任务需要,要写一个能够处理Excel的脚本,实现的功能是,在A表格上其中一列,对字符串进行分组和排序,然后根据排序好的A表格以固定格式自动填写到B表格上. 开始写脚本之前查了很多资料,最开始采用了openpyxl这个模块,用起来很顺手,使用这个对A表格其中一列进行了重新填写,但是后来发现,需要用到删除和插入空白行的操作,使用openpyxl比较困难,这个模块仅支持在表格的最后一行继续添加新行,不支持在中间插入和删除行. 在查找的过程中发现,网上流传了一些使用openpyxl

  • Python使用xlwt模块操作Excel的方法详解

    本文实例讲述了Python使用xlwt模块操作Excel的方法.分享给大家供大家参考,具体如下: 部分摘自官网文档. 该模块安装很简单 $ pip install xlwt 先来个简单的例子: #!/usr/bin/python #coding=utf-8 # ============================================================================== # # Filename: demo.py # Description: exc

  • Python对excel文档的操作方法详解

    本文实例讲述了Python对excel文档的操作方法.分享给大家供大家参考,具体如下: pip安装python库:(linux命令行输入不要在idle输入) pip install xlrd pip install xlwd 1.获取excel中的数据 利用xlrd模块读取并简单操作excel文档: 1.打开excel文档 import xlrd workbook = xlrd.open_workbook("test_case.xlsx") 2.获取所有的sheet表 sheet_na

  • python中使用xlrd、xlwt操作excel表格详解

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究"(用此一词让我觉得颇有成就感)之后,基本解决了日常所需.主要记录使用过程的常见问题及解决. python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.可从这里下载https://pypi.python.org/pypi.下面分别记录python

  • 使用Python处理Excel表格的简单方法

    Excel 中的每一个单元,都会有这些属性:颜色(colors).number formatting.字体(fonts).边界(borders).alignment.模式(patterns) 等等. xlsxwriter 格式处理,将待添加数据转换成相应的格式,添加到 xlsx 文件中 总结 以上所述是小编给大家介绍的使用Python处理Excel表格的简单方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

  • python 实现在Excel末尾增加新行

    实例如下所: import os import xlrd import xlwt from xlutils.copy import copy def excelwrite(L=None): if L is None: L = [] print(L) filename = r'wldata.xls' workbook = xlrd.open_workbook(filename, formatting_info=True) sheet = workbook.sheet_by_index(0) row

  • 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操作excel的方法(xlsxwriter包的使用)

    本文介绍python操作excel的方法(xlsxwriter包的使用),具体内容如下 xlsxwriter包的安装 pip install xlsxwriter Workbook类 创建一个excel文件 filename = "test.xlsx" # Workbook代表整个电子表格文件,并且存储在磁盘上.filename为字符串类型,表示创建的excel文件存储路径: wb = xlsxwriter.Workbook(filename) 创建一个sheet表:add_works

  • Python操作excel的方法总结(xlrd、xlwt、openpyxl)

    前言 在处理excel数据时发现了xlwt的局限性–不能写入超过65535行.256列的数据(因为它只支持Excel 2003及之前的版本,在这些版本的Excel中行数和列数有此限制),这对于实际应用还是不够的.为此经过一番寻找发现了一个支持07/10/13版本Excel的openpyxl,虽然功能很强大,但是操作起来感觉没有xlwt方便.下面分别说下几个模块的常用操作. xlrd xlrd是用来从Excel中读写数据的,但我平常只用它进行读操作,写操作会遇到些问题.用xlrd进行读取比较方便,

  • Python基于xlrd模块操作Excel的方法示例

    本文实例讲述了Python基于xlrd模块操作Excel的方法.分享给大家供大家参考,具体如下: 一.使用xlrd读取excel 1.xlrd的安装: pip install xlrd==0.9.4 2.基本操作示例: #coding: utf-8 import xlrd #导入xlrd模块 xlsfile=r"D:\workspace\host.xls" #获得excel的book对象 book = xlrd.open_workbook(filename=None, file_con

  • python使用openpyxl操作excel的方法步骤

    一 前言 知识追寻者又要放大招了,学完这篇openpyxl第三方库,读者将会懂得如何灵活的读取excel数据,如何创建excel工作表:更新工作表,删除工作表:是不是感觉很强大,留下赞赞吧!! 二 openpyxl常用属性函数 常用函数或者属性 说明 openpyxl.load_workbook() 加载excel工作本 Workbook.active 获得默认sheet Workbook.create_sheet() 创建sheet Workbook.get_sheet_names() 已过时

  • python 操作excel表格的方法

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. 下载相关python包 python操作excel表格可以使用以下三个包 xlrd - 读excel文件 xlwt - 写excel文件,这个不能修改已有的excel文件,只能写新的文件 xlutils - 修改excel文件,其实就是通过xlrd拷贝一份记录,再进行修改.保存为老的名字就替换了原

  • 分享11个Python自动化操作Excel的方法

    目录 一.openpyxl是什么 二.openpyxl安装 三.openpyxl操作指南 1.创建工作簿 2.写工作簿 3.插入图片 4.删除行和列 5.将工作表转换为数据框 6.2D区域图 7.雷达图 8.使用公式 9.给单元格设定字体颜色 10.设定字体和大小 11.设定单元格的边框.字体.颜色.大小和边框背景色 前言: 今天我教大家如何利用Python自动化操作Excel,包括:介绍操作Excel的工具包.安装方法及操作Excel具体方法.对于每天有大量重复性工作的同学来说,这款工具绝对是

  • 使用Python操作excel文件的实例代码

    使用的类库 pip install openpyxl 操作实现 •工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 wb = Workbook() # 打开一个工作簿 wb = load_workbook('test.xlsx') # 保存工作簿到文件 wb.save('save.xlsx') •工作表操作 # 获得当前的工作表对象 ws = wb.active # 通过工作表名称得到工作表对象 ws = wb.

随机推荐