python3打开excel_python3操作Excel (一)

安装:

pip install openpyxl

excel表中有图像,需要安装pillow库。

pip install Pillow

代码:

from openpyxl import Workbook

wb = Workbook()

# grab the active worksheet

ws = wb.active

# Data can be assigned directly to cells

ws[‘A1‘] = 42

# Rows can also be appended

ws.append([1, 2, 3])

# Python types will automatically be converted

import datetime

ws[‘A2‘] = datetime.datetime.now()

# Save the file

wb.save("sample.xlsx")

openpyxl模块使用:

创建一个工作簿:

from openpyxl import Workbook

wb = Workbook()

工作簿最少有一个工作表:

openpyxl.workbook.Workbook.active()

ws = wb.active

wb的_active_sheet_index 属性,默认情况下为0.来获取第一个工作表。

修改值之后,可以获取该值对应的工作表。

也可以创建一个新的工作表,需要使用openpyxl.workbook.Workbook.create_sheet() method

// 添加一个新的工作表:

#在默认工作表后面创建一个新的工作表。

ws1 = wb.create_sheet("twosheet")

#在默认工作表前面创建一个新的工作表。0 为索引值。

ws2 = wb.create_sheet(‘onesheet‘,0)

在创建工作表时,默认自动命名sheet1,sheet2,...

可使用title属性更改sheet1,sheet2,....等名称。

例如:

ws1.title = "2sheet"

默认情况下,title的背景颜色为白色,可更改为:

可以将此提供RRGGBB颜色代码更改为sheet_properties.tabColor属性: 该效果我没有做出来,有待研究。

ws.sheet_properties.tabColor = "1072BA"

你可以把一个创建之后的工作表的名字,作为工作簿的一个键。

ws3 = wb[‘onesheet‘]

print(ws3)

输出值为:

说明你可以选择使用哪个工作表来写入数据。

查看工作簿的所有工作表的名称:

openpyxl.workbook.Workbook.sheetnames() property

print(wb.sheetnames) #打印出来为list。

可以选择循环浏览工作表名称:

for sheet in wb:

print(type(sheet.title))

print(sheet.title)

#打印出来为str.

可以在单个工作簿中创建工作表副本:

openpyxl.workbook.Workbook.copy_worksheet() method:

source = wb.active

target = wb.copy_worksheet(source)

#默认将工作表添加到末尾。

注意:

只有单元格(包括值,样式,超链接和注释)和某些工作表属性(包括尺寸,格式和属性)被复制。所有其他工作簿/工作表属性不会被复制 - 例如图片,图表。

您不能在工作簿之间复制工作表。如果工作簿以只读或只写模式打开,您也无法复制工作表。

####插入数据

访问单元格并修改单元格内容:

单元格可以作为工作表的键直接访问。

ws = wb[‘Sheet‘]

print(ws)

注意:

访问之前,必须先让其工作在Sheet工作表上。

c = ws[‘A4‘]

print(c)

这将返回A4处的单元格或创建一个,如果它尚不存在。值可以直接分配:

ws[‘A4‘] = 4

还有

openpyxl.worksheet.Worksheet.cell() method.

这使用行和列表示法提供对单元格的访问权限:

d = ws.cell(row=4,column=2,value=10)

print(type(d))

print(d)

注意:

当工作表在内存中创建时,它不包含单元格。它们在第一次访问时创建。

由于这个特性,即使没有为它们赋值,通过滚动单元格而不是直接访问它们也会在内存中创建它们。

for i in range(1,101):

for j in range(1,101):

ws.cell(row=i,column=j)

print(type(j))

print(j)

#将在内存中创建100x100的单元格,无需任何操作。

可以使用切片访问单元格的范围:

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

print(type(cell_range))

print(cell_range)

#type is tuple.

行或列的范围可以类似地获得:

colC = ws[‘C‘]

col_range = ws[‘C:D‘]

row10 = ws[10]

row_range = ws[5:10]

也可以用:

openpyxl.worksheet.Worksheet.iter_rows() method:

for row in ws.iter_rows(min_row=1,max_col=3,max_row=2):

for cell in row:

print(cell)

openpyxl.worksheet.Worksheet.iter_cols()

method will return columns:

for col in ws.iter_rows(min_row=1,max_col=3,max_row=2):

for cell in col:

print(cell)

需要遍历文件的所有行或列,使用

openpyxl.worksheet.Worksheet.rows() property:

#遍历文件的所有行

ws = wb.active

ws[‘C9‘] = ‘li yuan jie‘

print(tuple(ws.rows))

or use

openpyxl.worksheet.Worksheet.columns() property:

#遍历文件的所有列:

ws = wb.active

ws[‘C9‘] = ‘li yuan jie‘

print(tuple(ws.columns))

#####Data storage

openpyxl.cell.Cell, we can assign it a value:

c = ws[‘A1‘] #指定A1单元格

c.value = ‘li yuan jie‘

print(c.value)

d = ws[‘B1‘]

d.value = 3.14

print(d.value)

也可以启用类型和格式推断:

c = ws[‘A2‘]

c.value = ‘12%‘

print(type(c.value)) #type is str

print(c.value)

import datetime

d = ws[‘B2‘]

d.value = datetime.datetime.now()

print(type(d.value)) #type is ‘datetime.datetime‘

print(d.value)

c.value = ‘31.50‘

print(type(c.value)) #type is str

print(c.value)

Saving to a file

The simplest and safest way to save a workbook is by using the:

openpyxl.workbook.Workbook.save() method of the openpyxl.workbook.Workbook object:

wb = Workbook()

wb.save(‘onepyxl.xlsx‘)

注意: 此操作将覆盖现有文件。

可以指定属性template = True,将工作簿保存为模板:

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)

注意: excel表的数据属性和扩展名。

####加载一个文件

导入

openpyxl.load_workbook() to open an existing workbook:

from openpyxl import load_workbook

wb2 = load_workbook(‘onepyxl.xlsx‘)

print(wb2.sheetnames)

如有不足之处,请指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 获得json对象的属性值_JSON 获取属性值的方法

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习…

python常用包数据分析_数据分析领域常用的五个Python包

NumpyNumpy提供了两种基本的对象:ndarray和ufunc。ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数。Numpy的功能:N维数组,一种快速、高效使用内存的多维数组,他提供矢量化数学运算。可以不需…

python中空字符串的布尔值是什么_Python的布尔值与空值

Googlehack之Github hacksite:aircrk.com smtpsite:aircrk.com smtp mail.comsite:aircrk.com root passwordsite:aircrk.com smtp ...lock#ifndef lock_h #define lock_h #include #include #include "myd ...SQL2012删除作业失败的处理修改msdb数据库中的过程sp_delete_…

java软尾山地车碳_JAVA FURIA 27.5入门软尾山地车评测

铝合金车架、前后100mm避震行程、超短把立、长款燕把、27.5轮径……之前跟大家讲过,在这台车上你能拥有全避震车型所应该具备的所有基础元素。2个月的时间已经过去,这台车到底怎么样呢?我们一起来看一下。优点:质量靠谱&#xff0…

pytorch和python有什么区别_PyTorch到底好用在哪里?

先来回答一下你提的几个问题:Pytorch连最基本的maximum, minimum, tile等等这些numpy和tensorflow中最简单的运算都没有,用view来reshape还会报错contiguous(虽然我知道怎么解决),官方手册也查不到相应说明,这个东西到底好用在哪里…

java arraylist 过滤_关于java:ArrayList过滤器

本问题已经有最佳答案,请猛点这里访问。如何从Java ARAYLIST中筛选出一些东西,如:你好吗?你怎么做乔迈克过滤器是"怎样"的,它可以去除乔和迈克。这可能有助于stackoverflow.com/questions/122105/&helli…

如何下载python安装包的所有依赖_如何将包含所有依赖项的python包安装到Docker镜像中?...

我在Ubuntu 15.10中使用Docker容器为Pyspark jupyter / pyspark-notebook工作.我需要安装具有所有依赖项的folium并在容器中运行Pyspark脚本.我成功安装了Docker,拉出了图像并使用命令运行它docker run -d -p 8888:8888 -p 4040:4040 -v /home/$MYUSER/$MYPROJECT:/home/jovyan…

java 匹配最后一次出现的字符_在Java中查找字符串中字符的最后一次出现

使用该lastIndexOf()方法在Java中查找字符串中字符的最后一次出现。假设以下是我们的字符串。String myStr "Amit Diwan";在上面的字符串中,我们将找到字符i的最后一次出现myStr.lastIndexOf(i);以下是完整的示例。示例public class Demo {public static…

python面向对象编程从零开始_Python面向对象编程从零开始,从没对象到有对象

原标题:Python面向对象编程从零开始,从没对象到有对象欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习、问答、求职,一站式搞定!对商业智…

java 模拟路由表_Router的路由表

Router中使用routers字段表示路由表,这是一个数组,每个元组的类型是[desnination,nexthop],其中destination表示目的网段(cidr),nexthop表示下一跳的IP,举例如下:“routes”:[ { “destination”:”10.50.10.0/24” “…

python 知乎 合并 pdf_一键下载:将知乎专栏导出成电子书

原标题:一键下载:将知乎专栏导出成电子书老是有同学问,学了 Python 基础后不知道可以做点什么来提高。今天就再用个小例子,给大家讲讲,通过 Python和爬虫,可以完成怎样的小工具。在知乎上,你一定…

php语句过滤掉html标签_php过滤html标签

标签&#xff1a;php自带函数strip_tagsecho strip_tags("hello world! ");自定义函数&#xff1a;function filterhtml($str) {$streregi_replace("*[^<>]*>", , $str);$strstr_replace(" ", , $str);$strstr_replace("n", …

无符号有符号乘法_刘帅嵌入式系统-乘法指令

ARM有两类乘法指令&#xff1a;一类为32位的乘法指令&#xff0c;即乘法操作的结果为32位&#xff1b;另一类为64位的乘法指令&#xff0c;即乘法操作的结果为64位。两类指令共有以下6条。MUL&#xff1a;32位乘法指令MLA&#xff1a;32位带加数的乘法指令SMULL&#xff1a;64位…

php导出csv_原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】

本文实例讲述了原生PHP实现导出csv格式Excel文件的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;效果图源码分析index.phprequire_once "./Export.php";//测试数据$headerList [列名1,列名2,列名3];$data [[值1,值2,值3],[值11,值22,值33],[值111,值…

python 颜色_如何使用python中matplotlib库分析图像颜色

用代码分析图像可能很困难。你如何使代码“理解”图像的上下文?通常&#xff0c;使用AI分析图像的第一步 是找到主要颜色。在如何使用python中matplotlib库分析图像颜色中&#xff0c;我们将使用matplotlib的 image类在图像中找到主色 。查找主导色也是你可以使用第三方API进行…

python自动登录校园网_免费自动登录国科大校园网python脚本

UCAS-Network-LoginA python program that helps you log in UCAS network for free. 免费自动登录国科大校园网声明&#xff1a;本软件不会收集你的任何信息&#xff0c;即使保存密码也都是保存在本地。软件编写思想是模拟浏览器填充用户名和加密后的密码&#xff0c;发送认证…

php的时间函数,PHP 常用时间函数

PHP语言中的函数有许多种&#xff0c;各种应用方式不同&#xff0c;实现的功能也不尽相同。我们在本文种为大家总结了PHP时间戳函数&#xff0c;希望能作为参考学习对象。一&#xff0c;PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″) 示例如下&#xff1a;e…

python画彩虹爱心_用python画一颗彩虹色爱心送给女朋友!!!

1.准备工作&#xff1a;代码中用到numpy和matplotlib&#xff0c;需要先安装这两个库pip3 install numpypip3 install matplotlib会用到的数学公式&#xff1a;(x^2y^2-1)^3x^2*y^302.编写代码&#xff1a;importnumpy asnpimportmatplotlib.pyplot aspltx_coords np.linspace…

智能解析php源码,PHP源码:XyPlayer在线影视v3.8二次智能解析源码

版本更新&#xff1a;注意&#xff1a; 升级完成后请务必清空缓存,包括浏览器缓存和视频缓存;2019.3.24更新* 修复v.php调用失败的bug;* 优化播放调用&#xff0c;修复若干bug;* 异常处理优化&#xff0c;使用fundebug插件收集异常信息;* 播放器优化,发生异常会调用H5播放器解决…

cnn 准确率无法提升_清华类脑芯片再登Nature: 全球首款基于忆阻器的CNN存算一体芯片...

传统计算架构中计算与存储在不同电路单元中完成&#xff0c;造成大量数据搬运功耗增加和额外延迟&#xff0c;被认为是冯诺依曼计算架构的核心瓶颈。人类的大脑却并非如此&#xff0c;而是直接在记忆体里计算。被认为具有「存算一体」潜力的忆阻器&#xff0c;因而成为类脑计算…