openpyxl3.0官方文档及使用总结
翻译的openpyxl3.0的官方文档,总结各种常用操作,与其他类型文件互动
Sinchard
用Python处理日常繁琐操作,简单翻译使用的Python库
展开
-
openpyxl各种操作汇总(2)—— 读写单元格、行、列
单元格单元格位置作为工作表的键直接读取: >>> c = ws['A4']为单元格赋值: >>> ws['A4'] = 4 >>> c.value = 'hello, world'行转载 2020-07-10 22:16:45 · 7066 阅读 · 1 评论 -
openpyxl各种操作汇总(1)—— 打开关闭工作簿、工作表
各种数据需要导入Excel?多个Excel要合并?目前,Python处理Excel文件有很多库,openpyxl算是其中功能和性能做的比较好的一个。接下来我将为大家介绍各种Excel操作。新建一个Excel文件 >>> from openpyxl import Workbook >>> wb = Workbook()打开现有Excel文件 >>> from openpyxl import load_workbook原创 2020-07-10 16:24:33 · 8438 阅读 · 1 评论 -
openpyxl3.0官方文档(35)—— 文档保护
请注意,使用密码保护工作簿或工作表只能提供基本的安全性。工作簿或工作表中的数据并没有加密,可以通过多种免费工具进行修改。事实上,规范声明:工作表或工作簿文档保护功能不应与文件安全性混淆。它旨在使工作簿免受无意修改的影响,无法保护工作簿免受恶意修改的影响。Openpyxl支持保护工作簿和工作表不被修改功能。openpyxl使用Open XMLLegacy Password Hash算法生成哈希密码值,除非您明确指定另一个算法。工作簿保护¶为了防止其他用户查看隐藏的工作表,添加、移动、删除或隐藏工作表或重翻译 2020-07-08 21:12:26 · 1482 阅读 · 2 评论 -
openpyxl3.0官方文档(34)—— 公式解析
openpyxl仅支持对单元格中嵌入的公式进行有限的解析。那个openpyxl.formula包包含一个Tokenizer类,用于将公式分解为其组成的标记。用法如下: >>> from openpyxl.formula import Tokenizer >>> tok = Tokenizer("""=IF($A$1,"then True",MAX(DEFAULT_VAL,'Sheet 2'!B1))""") >>> print("翻译 2020-07-08 16:54:56 · 830 阅读 · 0 评论 -
openpyxl3.0官方文档(33)—— 表格
表格是对单元格组的引用。这使得某些操作(如设置表中单元格的样式)变得更容易。创建表¶ from openpyxl import Workbook from openpyxl.worksheet.table import Table, TableStyleInfo wb = Workbook() ws = wb.active data = [ ['Apples', 10000, 5000, 8000, 6000], ['Pears'翻译 2020-07-08 09:48:10 · 544 阅读 · 0 评论 -
openpyxl3.0官方文档(32)—— 定义名称
在规范中,定义名称是用于表示单元格、单元格范围、公式或常量值的描述性文本。这意味着它们的定义非常松散。它们可能包含常量、公式、单个单元格引用、单元格范围或跨不同工作表的多个单元格范围,或以上所有。它们是为工作簿全局定义的,可通过defined_names属性访问。用于范围的示例¶访问名为“my_range”的范围: my_range = wb.defined_names['my_range'] # if this contains a range of cells then the d翻译 2020-07-08 09:16:49 · 897 阅读 · 0 评论 -
openpyxl3.0官方文档(31)—— 单元格验证
数据验证器可以应用于单元格区域,范围也不必是连续的。例如A1 B2:B5包含A1和单元格B2到B5,但不包含A2或B2。实例¶ >>> from openpyxl import Workbook >>> from openpyxl.worksheet.datavalidation import DataValidation >>> >>> # Create the workbook and worksh翻译 2020-07-08 09:10:29 · 1170 阅读 · 0 评论 -
openpyxl3.0官方文档(30)—— 使用过滤器和排序
可以在工作表中添加过滤器。注意过滤器和排序只能由openpyxl配置,但需要在Excel等应用程序中应用。这是因为它们实际上会对范围内的单元格或行进行重排或格式化。要添加筛选器,需要先定义范围,然后添加列和排序条件: from openpyxl import Workbook wb = Workbook() ws = wb.active data = [ ["Fruit", "Quantity"], ["Kiwi",翻译 2020-07-08 08:37:11 · 1727 阅读 · 1 评论 -
openpyxl3.0官方文档(29)—— 打印设置
openpyxl提供了对打印设置的完全支持。编辑打印选项¶ >>> from openpyxl.workbook import Workbook >>> >>> wb = Workbook() >>> ws = wb.active >>> >>> ws.print_options.horizontalCentered = True >&g翻译 2020-07-08 08:35:58 · 2426 阅读 · 0 评论 -
openpyxl3.0官方文档(28)—— 透视表
openpyxl提供对透视表的读取支持,以便将它们保留在现有文件中。pivot表的规范(虽然是扩展的)并不明确,也不希望客户机代码能够创建pivot表。但是,应该可以编辑和操作现有的透视表,例如更改它们的范围或是否应该自动更新设置。与图表、图像和表的情况一样,当前没有针对透视表的管理API,因此客户端代码将不得不循环工作表的_pivots列表。 from openpyxl import load_workbook wb = load_workbook("campaign.xlsx")翻译 2020-07-07 20:39:38 · 1994 阅读 · 0 评论 -
openpyxl3.0官方文档(27)—— 条件格式
Excel支持三种不同类型的条件格式:内置、标准和自定义。内置条件格式将特定的规则与预定义的样式结合起来。标准条件格式将特定规则与自定义格式结合起来。此外,还可以定义使用差异样式应用自定义格式的自定义公式。注意不同规则的语法变化很大,所以openpyxl不可能知道规则是否正确。创建格式规则的基本语法是: >>> from openpyxl.formatting import Rule >>> from openpyxl.styles import F翻译 2020-07-06 12:20:53 · 2473 阅读 · 0 评论 -
openpyxl3.0官方文档(26)—— 其他工作表属性
这些是用于特定行为的一些高级属性,最常用的属性是定义工作表选项卡背景色和页面设置属性。工作表的可用属性¶enableFormatConditionsCalculationfilterModepublishedsyncHorizontalsyncRefsyncVerticaltransitionEvaluationtransitionEntrytabColor页面设置属性的可用字段¶“autoPageBreaks” “fitToPage”大纲的可用字段¶applyStyles翻译 2020-07-06 11:37:56 · 551 阅读 · 0 评论 -
openpyxl3.0官方文档(25)—— 使用样式
介绍样式用于控制表格内容在屏幕上显示时的外观。它们还用于确定数字的格式。样式可以应用于以下方面:字体设置字体大小、颜色、下划线等。填充以设置图案或颜色渐变border在单元格上设置边框单元格对齐保护以下是默认值 from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font font = Font(name='Calibri', ...翻译 2020-07-03 12:51:21 · 1131 阅读 · 0 评论 -
openpyxl3.0官方文档(24)—— 批注
请注意,Openpyxl目前仅支持读写批注文本,文本格式化信息将丢失。批注尺寸在读取时丢失,但可以写入。如果使用read_only=True,则当前不支持批注。向单元格添加批注¶批注有一个文本属性和一个author属性,必须同时设置 >>> from openpyxl import Workbook >>> from openpyxl.comments import Comment >>> wb = Workbook()翻译 2020-07-03 11:24:33 · 656 阅读 · 0 评论 -
openpyxl3.0官方文档(23)——图表(Chartsheet)
图表(Chartsheet)是只包含图表的特殊工作表。图表的所有数据必须位于不同的工作表中。 from openpyxl import Workbook from openpyxl.chart import PieChart, Reference, Series wb = Workbook() ws = wb.active cs = wb.create_chartsheet() rows = [ ["Bob", 3翻译 2020-07-03 11:01:38 · 1109 阅读 · 0 评论 -
openpyxl3.0官方文档(22)—— 仪表盘图
仪表盘图将饼图和甜甜圈图组合在一起以创建仪表盘。第一个图表是一个有四个切片的甜甜圈图表。前三片与量具的颜色相对应;第四片是甜甜圈的一半,是隐形的。将添加包含三个切片的饼图。第一片和第三片是看不见的,这样第二片就可以充当量规上的针。这些效果是使用数据系列中各个数据点的图形属性实现的。 from openpyxl import Workbook from openpyxl.chart import PieChart, DoughnutChart, Series, Reference翻译 2020-07-03 10:50:14 · 474 阅读 · 0 评论 -
openpyxl3.0官方文档(21)—— 添加图案
整个数据系列和单个数据点可以通过graphicalProperties属性设置样式。 from openpyxl import Workbook from openpyxl.chart import BarChart, Reference from openpyxl.chart.marker import DataPoint from openpyxl.drawing.fill import PatternFillProperties, ColorChoice翻译 2020-07-03 10:40:10 · 521 阅读 · 0 评论 -
openpyxl3.0官方文档(20)—— 更改绘图区域和图例布局
可以使用layout类实例的布局属性设置图表的布局。图表布局¶尺寸和位置¶图表可以放在其容器中。x和y调整位置,w和h调整大小,单位是容器的比例。图表不能放在容器外,宽度和高度是主要约束条件:如果x+w>1,则x=1-w。x是从左边开始的水平位置y是从顶部开始的垂直位置h是图表相对于其容器的高度w是盒子的宽度模式¶除了大小和位置,相关属性的模式还可以设置为factor或edge,默认为factor: layout.xMode = edge 目标¶layoutTa翻译 2020-07-03 10:14:21 · 1640 阅读 · 0 评论 -
openpyxl3.0官方文档(19)—— 添加第二个轴
添加第二个轴实际上涉及创建第二个图表,该图表与第一个图表共享一个公共x轴,但具有单独的y轴。 from openpyxl import Workbook from openpyxl.chart import ( LineChart, BarChart, Reference, Series, ) wb = Workbook() ws = wb.active rows = [翻译 2020-07-03 10:01:25 · 747 阅读 · 0 评论 -
openpyxl3.0官方文档(7)—— 图表简介
图表类型¶以下图表可用:面积图二维面积图三维面积图条形图和柱形图垂直、水平和堆叠条形图三维条形图气泡图折线图折线图三维折线图散点图饼图饼图投影饼图三维饼图渐变饼图甜甜圈图雷达图股票图曲面图创建图表¶图表由一组或多组数据点组成,数据点本身通过对单元格范围的引用组成。 >>> from openpyxl import Workbook >>> wb = Workbook() &g翻译 2020-07-03 09:14:57 · 1012 阅读 · 1 评论 -
openpyxl3.0官方文档(18)—— 坐标轴范围和对数缩放
坐标轴最小和最大值¶为了在图表上显示特定区域,可以手动设置坐标轴的最小值和最大值。 from openpyxl import Workbook from openpyxl.chart import ( ScatterChart, Reference, Series, ) wb = Workbook() ws = wb.active ws.append(['X', '1/X']) fo翻译 2020-07-03 08:56:48 · 1913 阅读 · 0 评论 -
openpyxl3.0官方文档(17)—— 曲面图
排列在工作表的列或行中的数据可以在曲面图中显示。如果要在两组数据之间找到最佳组合,曲面图非常有用。与地形图中一样,彩色砂图案表示处于相同值范围内的区域。默认情况下,所有曲面图都是三维的。通过设置旋转和透视,可以创建二维线框和等高线图。 from openpyxl import Workbook from openpyxl.chart import ( SurfaceChart, SurfaceChart3D, Reference,翻译 2020-07-02 13:36:59 · 374 阅读 · 0 评论 -
openpyxl3.0官方文档(16)—— 股价图
在工作表上按特定顺序排列列或行中的数据可以在股价图中显示。顾名思义,股价图表最常用来说明股票价格的波动。但此图表也可用于科学数据。例如,可以使用股价图来指示日或年温度的波动。为来创建创建股价图,必须按正确的顺序组织数据。股价图的数据在工作表中的排列方式非常重要。对于例如,要创建一个简单的盘高-盘低-收盘股价图,您应该按该顺序排列数据,将盘高、盘低和收盘作为列标题输入。尽管股价图是一种不同的类型,但各种类型只是特定格式选项的快捷方式:盘高-盘低-收盘图基本上是一个没有直线的折线图,并且标记到XYZ。设翻译 2020-07-02 12:50:16 · 389 阅读 · 0 评论 -
openpyxl3.0官方文档(15)—— 雷达图
在工作表中以列或行排列的数据可以在雷达图中绘制。雷达图比较多个数据序列的总值。它实际上是面积图在x轴上的投影。雷达图有两种类型:标准型雷达图,用线标记区域;填充型雷达图,用线填充整个区域;另一种类型marker是无效。如果需要标记,可以为相关系列设置这些标记。 from openpyxl import Workbook from openpyxl.chart import ( RadarChart, Reference, ) wb翻译 2020-07-02 12:29:24 · 446 阅读 · 1 评论 -
openpyxl3.0官方文档(14)—— 甜甜圈图
甜甜圈图表与饼图类似,只是它们使用了一个环而不是一个圆,还可以绘制出若干系列的数据作为中心环。 from openpyxl import Workbook from openpyxl.chart import ( DoughnutChart, Reference, Series, ) from openpyxl.chart.series import DataPoint data = [翻译 2020-07-02 12:23:43 · 367 阅读 · 0 评论 -
openpyxl3.0官方文档(13)—— 饼图
饼图¶饼图将数据绘制为圆的切片,每个切片表示整个圆的百分比。切片按顺时针方向绘制,0°位于圆的顶部。饼图只接受一系列数值,标题将默认为系列的标题。 from openpyxl import Workbook from openpyxl.chart import ( PieChart, ProjectedPieChart, Reference ) from openpyxl.chart.series import Da翻译 2020-07-02 12:19:08 · 1580 阅读 · 0 评论 -
openpyxl3.0官方文档(12)—— 散点图
散点图或xy图类似于一些折线图。主要的区别是,一系列值与另一系列值相对应。这在值无序的情况下很有用。 from openpyxl import Workbook from openpyxl.chart import ( ScatterChart, Reference, Series, ) wb = Workbook() ws = wb.active rows = [ ['Siz翻译 2020-07-02 12:06:43 · 1105 阅读 · 1 评论 -
openpyxl3.0官方文档(11)—— 折线图
折线图¶折线图允许根据固定轴绘制数据。它们类似于散点图,主要的区别在于用线图绘制数据序列时使用相同的值。不同类型的轴可用于次轴。与条形图类似,有三种折线图:标准折线图、堆积折线图和百分比堆积折线图。 from datetime import date from openpyxl import Workbook from openpyxl.chart import ( LineChart, Reference, ) from翻译 2020-07-02 11:09:12 · 1751 阅读 · 0 评论 -
openpyxl3.0官方文档(10)—— 气泡图
气泡图类似于散点图,但使用三维来确定气泡的大小,图表可以包含多个系列。 """ Sample bubble chart """ from openpyxl import Workbook from openpyxl.chart import Series, Reference, BubbleChart wb = Workbook() ws = wb.active rows = [ ("Number翻译 2020-07-02 10:51:59 · 419 阅读 · 0 评论 -
openpyxl3.0官方文档(9)—— 条形图和柱形图
在条形图中,值以水平条或垂直列的形式展示。垂直、水平和堆叠条形图¶下列设置影响不同的图表类型:通过分别将type设置为col或bar,在垂直条形图和水平条形图之间切换。使用堆叠图表时,需要将overlap设置为100。如果条是水平的,则x轴和y轴是相反的。 from openpyxl import Workbook from openpyxl.chart import BarChart, Series, Reference wb = Workbook(wri翻译 2020-07-02 10:47:11 · 1531 阅读 · 0 评论 -
openpyxl3.0官方文档(8)—— 面积图
二维面积图¶面积图与折线图相似,只是在绘制的线下面的区域被填充。通过将分组设置为“标准”、“堆叠”或“百分比堆叠”,可以获得不同的面积图;默认值为“标准”。 from openpyxl import Workbook from openpyxl.chart import ( AreaChart, Reference, Series, ) wb = Workbook() ws = wb.active翻译 2020-07-02 10:43:10 · 450 阅读 · 0 评论 -
openpyxl3.0官方文档(6)—— 和Pandas、NumPy库一起使用
openpyxl能够与流行的库熊猫Pandas和NumPy一起使用。NumPy库支持¶openpyxl内置了对NumPy类型float、integer和boolean的支持。日期时间类型支持Pandas的时间戳。使用Pandas数据帧¶openpyxl.utils.dataframe.dataframe_to_rows方法提供了使用Pandas数据帧的简单方法: from openpyxl.utils.dataframe import dataframe_to_rows wb = W翻译 2020-07-01 16:45:40 · 805 阅读 · 0 评论 -
openpyxl3.0官方文档(5)—— 插入和删除行和列,移动单元格
插入行和列¶可以使用工作表的一些方法插入行或列:openpyxl.worksheet.worksheet.Worksheet.insert_rows()openpyxl.worksheet.worksheet.Worksheet.insert_cols()openpyxl.worksheet.worksheet.Worksheet.delete_rows()openpyxl.worksheet.worksheet.Worksheet.delete_cols()默认为一行或一列。例如,要在翻译 2020-07-01 14:00:32 · 3648 阅读 · 9 评论 -
openpyxl3.0官方文档(3)——性能分析
openpyxl在平衡功能和性能上做来很大努力。毫无疑问,我们更关注功能而不是优化:因为一旦完成API,性能优化也就变得更容易。与其他库和应用程序相比,内存占用率很高,大约是原始文件大小的50倍。例如,对于50MB的Excel文件,内存将占用2.5GB。由于许多用例只涉及读取或写入文件,加上optimized模式的应用,这将不是问题。测试基准¶所有的基准都是综合的,并且非常依赖于硬件,但是它们仍然可以做出比较。写入性能¶测试代码可以调整为使用更多工作表或者调整字符串数据的比例。因为使用的python翻译 2020-06-30 12:34:47 · 673 阅读 · 0 评论 -
openpyxl3.0官方文档(2)——简单用法
编写工作簿¶ >>> from openpyxl import Workbook >>> from openpyxl.utils import get_column_letter >>> >>> wb = Workbook() >>> >>> dest_filename = 'empty_book.xlsx' >>> &翻译 2020-06-30 12:33:59 · 674 阅读 · 0 评论 -
openpyxl3.0官方文档(1)——入门教程
创建工作簿¶在使用openpyxl库时,无需创建一个空白的Excel文件。只需要导入Workbook类: >>> from openpyxl import Workbook >>> wb = Workbook()在Excel工作簿中至少包含一个工作表。可以通过Workbook.active属性来获取当前活动工作表: >>> ws = wb.active在默认情况下,活动工作表总被设置为0。除非修改其值,可以使用此方法获得翻译 2020-06-30 12:31:47 · 2513 阅读 · 1 评论