python Excel 基于Openpyxl基础知识学习笔记

安装Openpyxl

先安装pip 命名

culr https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
安装对应库
pip3 install openpyxl

导入Workbook类

使用openpyxl时,不需要在文件系统上创建文件。只需导入Workbook类并开始工作

先说下概念
工作簿:是整个文件 Workbook
在这里插入图片描述

工作表   也就是sheet  = wb.Workbook

在这里插入图片描述

工作区操作

创建一个Excel

sheet = wb.active
始终至少使用一个工作表创建工作簿。您可以通过使用工作簿获得它。active属性

这在默认情况下被设置为0。除非修改其值,否则使用此方法将始终获得第一个工作表

from openpyxl import Workbook
import time
wb = Workbook()
sheet = wb.active
wb.save('111.xlsx')

在这里插入图片描述

创建3个sheet-Workbook.create_sheet()

from openpyxl import Workbook
import time
wb = Workbook()
sheet = wb.active
wb.create_sheet("Mysheet")#默认是最后
wb.create_sheet("Mysheet1",0)#插到最前面
wb.create_sheet("Mysheet2",-1)#插到倒数第二
wb.save('111.xlsx')

在这里插入图片描述

设置sheet的名字Worksheet.title

创建工作表时,会自动给它们一个名称。它们按顺序编号(表格,表格1,表格2,…)。您可以随时使用工作表更改此名称。标题属性

from openpyxl import Workbook
import time
wb = Workbook()
sheet = wb.active
wb.create_sheet("Mysheet")#默认是最后
wb.create_sheet("Mysheet1",0)#插到最前面
wb.create_sheet("Mysheet2",-1)#插到倒数第二
sheet.title = "3333"#使用中所以使用sheet
wb.save('111.xlsx')

在这里插入图片描述

设置sheet颜色-Worksheet.sheet_properties.tabColor

默认情况下,保持这个标题的标签的背景颜色是白色。可以通过提供RRGGBB颜色代码来更改

from openpyxl import Workbook
import time
wb = Workbook()#创建一个工作簿
sheet = wb.active#在簿中创建一个sheet
wb.create_sheet("Mysheet1",0)#插到最前面
sheet.title = "New Title"#使用中所以使用sheet
sheet.sheet_properties.tabColor = "226633"
wb.save('111.xlsx')

在这里插入图片描述

打印每一个sheet的名字

from openpyxl import Workbook
import time
wb = Workbook()#创建一个工作簿
sheet = wb.active#在簿中创建一个sheet
wb.create_sheet("Mysheet1",0)#插到最前面
sheet.title = "New Title"#使用中所以使用sheet
sheet.sheet_properties.tabColor = "221111"
for sheet in wb:
    print(sheet.title)

wb.save('111.xlsx')

在这里插入图片描述
在这里插入图片描述

拷贝一个工作表 Workbook.copy_worksheet()

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

from openpyxl import Workbook
import time
wb = Workbook()#创建一个工作簿
sheet = wb.active#在簿中创建一个sheet
wb.create_sheet("Mysheet1",0)#插到最前面
sheet.title = "New Title"#使用中所以使用sheet
sheet.sheet_properties.tabColor = "221111"
sheet_copy = wb.copy_worksheet(sheet)

wb.save('111.xlsx')

在这里插入图片描述

数据操作

单元格输入数据sheet[‘位置’] = 4

from openpyxl import Workbook
import time
wb = Workbook()#创建一个工作簿
sheet = wb.active#在簿中创建一个sheet
sheet['A4'] = 4
wb.save('date_opr.xlsx')

在这里插入图片描述

单元格输入数据Worksheet.cell()(栅格)

基本形式 sheet .cell(列,行 , 数据)

from openpyxl import Workbook
import time
wb = Workbook()#创建一个工作簿
sheet = wb.active#在簿中创建一个sheet
#参数为排   行   数据
sheet.cell(row=4, column=2, value=10)
wb.save('date_opr.xlsx')

无法使用该方式

from openpyxl import Workbook
import time
wb = Workbook()#创建一个工作簿
sheet = wb.active#在簿中创建一个sheet
#参数为列,, 数据
for x in range(1,101):
    for y in range(1,101):
        sheet.cell(row=x, column=y,max_row=2)
wb.save('date_opr.xlsx')

切片来访问

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

输出行 Worksheet.iter_rows()

from openpyxl import Workbook
import time
wb = Workbook()#创建一个工作簿
sheet = wb.active#在簿中创建一个sheet
#参数为列,, 数据
sheet.cell(row=4, column=2, value=10)
for row in sheet.iter_rows(min_row=1, max_col=3, max_row=2):
       for cell in row:
        print(cell)

wb.save('date_opr.xlsx')

在这里插入图片描述

输出列Worksheet.iter_cols()

from openpyxl import Workbook
import time
wb = Workbook()#创建一个工作簿
sheet = wb.active#在簿中创建一个sheet
#参数为列,, 数据
sheet.cell(row=4, column=2, value=10)
for row in sheet.iter_cols(min_row=1, max_col=3, max_row=2):
       for cell in row:
        print(cell)

wb.save('date_opr.xlsx')

在这里插入图片描述

读-sheet中的数值Worksheet.values

如果只需要工作表中的值,则可以使用工作表。属性值。这将遍历工作表中的所有行,但只返回单元格值

from openpyxl import Workbook
import time
wb = Workbook()#创建一个工作簿
sheet = wb.active#在簿中创建一个sheet
#参数为列,, 数据
sheet.cell(row=4, column=2, value=10)
for row in sheet.values:
       for value in row:
            print(value)

wb.save('date_opr.xlsx')

在这里插入图片描述

使用数字格式显示时间.number_format,获取时间datetime()

import datetime
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
# set date using a Python datetime
ws['A1'] = datetime.datetime(2010, 7, 21)
ws['A1'].number_format
wb.save('11.xlsx')

在这里插入图片描述

合并单元格merge_cells()

方式一:

import datetime
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
# set date using a Python datetime
ws.merge_cells('A2:D2')
wb.save('11.xlsx')

在这里插入图片描述
方式二:

import datetime
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
# set date using a Python datetime
ws.merge_cells(start_row=3, start_column=1, end_row=4, end_column=8)
wb.save('11.xlsx')

在这里插入图片描述

导入图片Image&&add_image

库需要导入from openpyxl.drawing.image import Image

import datetime
from openpyxl import Workbook
from openpyxl.drawing.image import Image
wb = Workbook()
ws = wb.active
# set date using a Python datetime
img = Image('ship.png')
ws.add_image(img,'A1')
wb.save('11.xlsx')

在这里插入图片描述

Charts

Charts

  • Reference:引用对应行列的数据,参数sheet、坐标、坐标。
  • BarChart():柱状图
import datetime
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference, Series
wb = Workbook()
ws = wb.active
# set date using a Python datetime
for i in range(10):
    ws.append([i])
values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "C1")
wb.save('11.xlsx')

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值