返回顶部
首页 > 资讯 > 后端开发 > Python >python3操作Excel (一)
  • 913
分享到

python3操作Excel (一)

操作Excel 2023-01-31 08:01:37 913人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

#第一篇:##openpyxl 模块使用: 安装:pip install openpyxl excel表中有图像,需要安装pillow库。pip install Pillow 代码: from openpyxl import Work

#第一篇:
##openpyxl 模块使用:

安装:
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)

输出值为:
<Worksheet "onesheet">

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

查看工作簿的所有工作表的名称:
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)

如有不足之处,请指正。

参考:
https://openpyxl.readthedocs.io/en/latest/
https://openpyxl.readthedocs.io/en/2.5/

--结束END--

本文标题: python3操作Excel (一)

本文链接: https://lsjlt.com/news/192930.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python3操作Excel (一)
    #第一篇:##openpyxl 模块使用: 安装:pip install openpyxl excel表中有图像,需要安装pillow库。pip install Pillow 代码: from openpyxl import Work...
    99+
    2023-01-31
    操作 Excel
  • 使用python3怎么操作excel
    使用python3怎么操作excel?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语...
    99+
    2023-06-14
  • python3编程基础:操作excel(
    目录 前言 安装模块 例1:创建一个excel 文件,并写入不同类的内容 例2:写入时间 例3:创建sheet 例4 :操作单元格 例5 :操作行/列/指定区域 例6:显示小数 例7:获取所有的行对象 例8:获取所有的列对象 例9:单元格...
    99+
    2023-01-31
    操作 基础 excel
  • Java Excel 操作excel
      从Excel文件读取数据表  Java Excel API 既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。读取Excel数据表的第一步是创建Workbook(术 语:工作薄),下面的代码片段举例说明了...
    99+
    2023-06-03
  • Python 操作 Excel,总有一个
           最近在写性能相关的测试脚本,脚本已经完成,最终怎么体现在报告上,要想让报告看起来漂亮些,我们是先创建一个模板(格式和公式已全部制作好),只需要性能测试完成后往对应的sheet页中填充数据,数据完成后最终的性能测试报告也就大功...
    99+
    2023-01-30
    有一个 操作 Python
  • Python一步步带你操作Excel
    目录一、安装库的操作二、xlwt库使用三、xlrd库使用四、openpyxl库使用-写入数据五、openpyxl库使用-读取数据➤数据处理是 Python 的一大应用场景,而 Exc...
    99+
    2024-04-02
  • python3操作json
    json本身就是一种字符串。 # 需要导入模块包 import json 1,将字符串转为json格式 s1 = "{'key1':'value1','key2':'value2'}" print(s1) print(type(s1)) ...
    99+
    2023-01-31
    操作 json
  • Python3 操作 HDFS
    【第三方包】pyhdfs(pypi,github,支持HA)【功能】重命名 hdfs 文件或目录# encoding: utf-8 # author: walker # date: 2018-03-17  # summary: 利用 pyh...
    99+
    2023-01-31
    操作 HDFS
  • python操作Excel
    import xlrd import xlwt import xlutils import win32com#xlrd#打开exceldata = xlrd.open_workbook("I+P.xls")#查看文件中包含sheet的名称s...
    99+
    2023-01-31
    操作 python Excel
  • python 操作excel
    python 读写 excel 有好多选择,但是,方便操作的库不多,在我尝试了几个库之后,我觉得两个比较方便的库分别是 xlrd/xlwt、openpyxl。 之所以推荐两个库是因为这两个库分别操作的是不同版本的 excel,xlrd 操作...
    99+
    2023-01-31
    操作 python excel
  • python excel操作
    首先在python3.5里,我们可以使用新的python类库,来支持3.x之后的读写excel 针对 03版excel(xls结尾的),我们可以使用xlrd读,xlwt包来写 针对 07版excel(xlsx结尾的),我们可以使用openp...
    99+
    2023-01-31
    操作 python excel
  • python3--文件操作
    python文件操作文件以什么编码存储,就以什么编码打开参数:1 文件路劲2 编码方式3 执行动作(打开方式):只读,只写,追加,读写,写读例子现有一个文档,制服护士空姐萝莉联系方式.txt,怎么用python打开?f =&nbs...
    99+
    2023-01-30
    操作 文件
  • python3操作串口
    通过引用serial模块包,来操作串口。 1、查看串口名称 在Linux和Windows中,串口的名字规则不太一样。需要事先查看。 Linux下的查看串口命令 root@D2:~# ls -l /dev/ttyS* crw-rw---- 1...
    99+
    2023-01-31
    串口 操作
  • Python3目录操作
    Python3 目录操作 常见的目录操作: 显示当前目录 切换目录 新建、删除目录、移动、复制 显示目录内容 判断目录、文件是否存在 目录操作常用的函数如下: os.listdir() # 列出目录下的内容 os.getcw...
    99+
    2023-01-31
    操作 目录
  • python3 字典操作
    字典: 创建方式: 1、正常创建 a = {'name': 'azj', 'age': 23, 'mail': 'azj@163.com'} 2、通过工厂函数dict创建 a = dict((['name',...
    99+
    2023-01-31
    字典 操作
  • Python3 文件操作
    Python3 文件操作 打开方式 手动挡open+close 自动挡with,自关闭 常见操作 w, r, a, b write readline readlines seek tell read 相关模块 fnmatch glob p...
    99+
    2023-01-31
    操作 文件
  • Python3文件操作
    打印到屏幕 产生输出的最简单方法是使用print语句,可以通过用逗号分隔零个或多个表达式。这个函数传递表达式转换为一个字符串,如下结果写到标准输出 - #!/usr/bin/python3 print ("Python is rea...
    99+
    2023-01-31
    操作 文件
  • python3字符串操作
    python3字符串操作 1 x = 'abc' 2 y = 'defgh' 3 4 print(x + y) #x+y 5 print(x * 3) #x*n 6 print(x[2]) ...
    99+
    2023-01-31
    字符串 操作
  • python3-字符串操作
    name = "my \tname is {name}, age is {age}." '''print(name.capitalize()) #这段话的首字母大写 print(name.count("a"))...
    99+
    2023-01-31
    字符串 操作
  • python3 字符串操作
          name = "My \tname is  {name} and my age is {year} old"#大写 print(name.capitalize()) # 首字母大写 打印显示 My  name is  {na...
    99+
    2023-01-31
    字符串 操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作