Python 入坑进阶第五步—处理excel表格

五、处理excel 表格

1、安装第三方模块openpyxl

cmd 命令窗口输入:

pip install openpyxl

2、D:\python目录下,新建demo.xlsx文件,并编辑内容如下

苹果红色5元/斤
香蕉黄色3元/斤
橘子橙色6元/斤
柚子黄色5元/斤

3、读取Excel文档

1)openpyxl.load_workbook(‘文件名’):获取workbook对象
此时,这里的workbook对象就代表传入文件名的Excel文件
>>> import openpyxl
>>> excel = openpyxl.load_workbook('D:\\python\\demo.xlsx')
>>> type(excel)
<class 'openpyxl.workbook.workbook.Workbook'>
2)从该Excel文件工作簿中获取工作列表
>>> import openpyxl
>>> excel = openpyxl.load_workbook('D:\\python\\demo.xlsx')
>>> #该excel文件工作簿下的所有工作列表
>>> excel.sheetnames
['Sheet1', 'Sheet2', 'Sheet3']
>>> #获取某一表的WorkSheet对象
>>> sheet1=excel['Sheet1']
>>> sheet1.title
'Sheet1'
>>> type(sheet1)
<class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> #获取当前活动表的WorkSheet对象
>>> sheetActive=excel.active
>>> sheetActive.title
'Sheet1'
>>> type(sheetActive)
<class 'openpyxl.worksheet.worksheet.Worksheet'>
3)从表中获取单元格的基本信息
>>> import openpyxl
>>> excel=openpyxl.load_workbook('D:\\python\\demo.xlsx')
>>> #获取表Sheet1
>>> sheet1=excel['Sheet1']
>>> #获取单元格A1的行标
>>> sheet1['A1'].row
1
>>> #获取单元格A1的列标
>>> sheet1['A1'].column
1
>>> #获取单元格A1的值
>>> sheet1['A1'].value
'苹果'
>>> #获取当前表数据的总行数
>>> sheet1.max_row
4
>>> #获取当前表数据的总列数
>>> sheet1.max_column
3
4)列标:字母和数字之间的转换
>>> #引入模块
>>> import openpyxl
>>> #引入函数
>>> from openpyxl.utils import get_column_letter,column_index_from_string
>>> #数字转字母
>>> get_column_letter(4)
'D'
>>> #字母转数字
>>> column_index_from_string('DD')
108
5)通过Worksheet对象切片,取得电子表格中的行和列
>>> #引入模块
>>> import openpyxl
>>> excel = openpyxl.load_workbook('D:\\python\\demo.xlsx')
>>> #获取表Sheet1
>>> sheet1=excel['Sheet1']
>>> for rows in sheet1['A1':'B2']:
...     for cell in rows:
...             print(cell.value)
...
苹果
红色
香蕉
黄色

4、写入Excel文档

1)创建并保存Excel文档
>>> #1、引入os模块
>>> import os
>>> #查看D:\\python文件夹下的文件
>>> os.listdir('D:\\python')
['demo', 'demo.xlsx', 'error.txt', 'mylog1.txt', 'new', 'new.zip', 'test']
>>> #引入openpyxl模块
>>> import openpyxl
>>> #新建一个工作簿
>>> excel = openpyxl.Workbook()
>>> #查看这个工作簿中的工作表
>>> excel.sheetnames
['Sheet']
>>> #进入Sheet工作表
>>> sheet=excel['Sheet']
>>> #获取该工作表的表名
>>> sheet.title
'Sheet'
>>> #修改Sheet工作表的名称
>>> sheet.title='NewSheet'
>>> sheet.title
'NewSheet'
>>> #保存这个新建的工作簿
>>> excel.save('D:\\python\\newExcelDemo.xlsx')
>>> #查看D:\\python文件夹下的内容
>>> os.listdir('D:\\python')
['demo', 'demo.xlsx', 'error.txt', 'mylog1.txt', 'new', 'new.zip', 'newExcelDemo.xlsx', 'test']
>>>

newExcelDemo.xlsx 如图:

在这里插入图片描述

2)在刚新建的工作簿中,进行创建和删除工作表的操作
>>> #引入openpyxl模块
>>> import openpyxl
>>> #打开newExcelDemo.xlsx工作簿
>>> excel=openpyxl.load_workbook('D:\\python\\newExcelDemo.xlsx')
>>> #查看该工作簿下的工作表
>>> excel.sheetnames
['NewSheet']
>>> #-----------------------------------------------------------------------------创建工作表
>>> #创建一个默认的工作表
>>> excel.create_sheet()
<Worksheet "Sheet">
>>> excel.sheetnames
['NewSheet', 'Sheet']
>>> #创建一个名为Sheet1的工作表
>>> excel.create_sheet(title='Sheet1')
<Worksheet "Sheet1">
>>> excel.sheetnames
['NewSheet', 'Sheet', 'Sheet1']
>>> #在NewSheet工作表前边插入一个新的默认工作表
>>> excel.create_sheet(index=0)
<Worksheet "Sheet2">
>>> excel.sheetnames
['Sheet2', 'NewSheet', 'Sheet', 'Sheet1']
>>> #在NewSheet工作表前边插入一个新的工作表,表名为:Sheet333
>>> excel.create_sheet(index=1,title='Sheet333')
<Worksheet "Sheet333">
>>> excel.sheetnames
['Sheet2', 'Sheet333', 'NewSheet', 'Sheet', 'Sheet1']
>>> #----------------------------------------------------------------------------删除工作表
>>> #删除工作表的第一种用法:以删除Sheet333工作表为例
>>> excel.remove(excel['Sheet333'])
>>> excel.sheetnames
['Sheet2', 'NewSheet', 'Sheet', 'Sheet1']
>>> #删除工作表的第二种用法:以删除NewSheet工作表为例
>>> del excel['NewSheet']
>>> excel.sheetnames
['Sheet2', 'Sheet', 'Sheet1']
>>>>>> #--------------------------------------------------------------------------这里最后切记一定要保存该工作簿
>>> excel.save('D:\\python\\newExcelDemo.xlsx')
>>> #save('文件名')需要传入正确该文件名,如果传入的文件和最初的文件路径和名称不同时,相当于将编辑好的文件,进行复制到新的文件中,导致 最初文件没有发生改变

newExcelDemo.xlsx 如图:

在这里插入图片描述

3)在刚新建的工作簿中,Sheet工作表中写入值
>>> #引入openpyxl模块
>>> import openpyxl
>>> excel=openpyxl.load_workbook('D:\\python\\newExcelDemo.xlsx')
>>> excel.sheetnames
['Sheet2', 'Sheet', 'Sheet1']
>>> #查看当前活动的工作表
>>> excel.active
<Worksheet "Sheet2">
>>> #可以看到是Sheet2,我们现在将活动工作表切换为Sheet
>>> excel.active=excel['Sheet']
>>> excel.active
<Worksheet "Sheet">
>>> #可以理解为进入Sheet工作表
>>> sheet=excel.active
>>> sheet
<Worksheet "Sheet">
>>> #设置A1单元格值
>>> sheet['A1'].value='你好'
>>> sheet['A1'].value
'你好'
>>> #简便方法:设置B1单元格的值
>>> sheet['B1']='世界'
>>> sheet['B1']
<Cell 'Sheet'.B1>
>>> sheet['B1'].value
'世界'
>>> #最后切记要保存文件到原路径,原名称
>>> excel.save('D:\\python\\newExcelDemo.xlsx')

newExcelDemo.xlsx 如图:

在这里插入图片描述

5、设置单元格的字体风格

(1)引入openpyxl模块,并导入openpyxl.styles模块中的Font()函数和Style()函数
import openpyxl
from openpyxl.styles import Font
(2)新建一个xlsx文件或打开一个xlsx文件,这里选择打开一个存在的demo.xlsx文件,如下图:

在这里插入图片描述

# 新建:excel = openpyxl.Workbook()
excel = openpyxl.load_workbook('D:\\python\\demo.xlsx')
(3)获取demo.xlsx文件中,工作表Sheet1
sheet = excel['Sheet1']
(4)设置苹果字体大小为20,设置‘红色’字体颜色为红色,并加粗
font1 = Font(size=20)
font2 = Font(bold=True,color='FF0000')
sheet['A1'].font=font1
sheet['B1'].font=font2
(5)保存编辑后的文档
excel.save('D:\\python\\demo.xlsx')
(6)打开demo.xlsx,结果如图:

在这里插入图片描述

如需了解更多,请前往openpyxl官方网站,查看最新、最详细的说明文档。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大脑经常闹风暴@小猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值