Python办公自动化之Excel介绍

 更新时间:2021年12月23日 08:56:44   作者:ID1996.  
大家好,本篇文章主要讲的是Python办公自动化之Excel介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

前言

Python处理Excel的包是openpyxl,其支持操作的文件类型为:.xlsx, .xlsm, .xltx, .xltm

pip install openpyxl

安装完成之后,我们应该了解一下Excel的组成部分,如下图所示:

Excel文件中三个对象

workbook: 工作簿,就是一个excel文件sheet:工作表,一个workbook有多个工作表,表名识别,如“sheet1”,“sheet2”等。cell: 单元格,存储数据对象

一、创建、打开excel文件

1、创建空白工作簿

创建一个空的工作簿,并将默认工作表重命名

#导入库中的工作簿
from  openpyxl import Workbook
 
#创建工作簿 
wb = Workbook()
#获取当前所在的sheet,激活         
sheet = wb.active 
#设置工作表名称,也可以不设置,不设置工作表默认名称为Sheet                   
sheet.title = "工作表1" 
print(sheet.title)        #打印工作表名字
 
#保存表       
wb.save("new_excel.xlsx")  

如下成功创建

2、打开已有文件

from  openpyxl import Workbook, load_workbook
 
#加载excel文件
wb = load_workbook("new_excel.xlsx")
#获取所在的工作表
sheet = wb.active
#打印工作表名
print(sheet.title)   #输出"工作表1"

二、工作表中的数据操作

往excel中写数据是按照坐标的方式进行写入的,每个单元格都可以用 “纵坐标横坐标”表示,如下位置:

写数据

方法一:自定义位置写入数据

如下在C3和D3的地方写入数据

#导入库中的工作簿
from  openpyxl import Workbook, load_workbook
 
#加载文件
wb = load_workbook("new_excel.xlsx")
#获取文件的所在工作表
sheet = wb.active
#打印工作表名
print(sheet.title)   #输出工作表1
 
sheet["C3"] = "girl"
sheet["D3"] = "beautiful"
#保存
wb.save("new_excel.xlsx")

 方法二:每行自动添加数据

会自动从上到下在有数据的那一行的下一行开始从左到右写入想要写入的数据

#导入库中的工作簿
from  openpyxl import Workbook, load_workbook
 
#加载文件
wb = load_workbook("new_excel.xlsx")
#或者文件的所在工作表
sheet = wb.active
#打印工作表名
print(sheet.title)   #输出工作表1
 
sheet.append([11,22,33,44,55])
sheet.append(['aa','bb','cc','dd','ee'])
 
#保存
wb.save("new_excel.xlsx")

读数据

表格内容如下

#导入库中的工作簿
from  openpyxl import Workbook, load_workbook
 
#加载文件
wb = load_workbook("cma.xx.xlsx")
 
# 1.打印所有的工作表
print(wb.sheetnames)     #输出 ['cma.xx', 'cma2.xx']
 
# 2.选择一个工作表进入
sheet = wb["cma.xx"]
#print(sheet)             #输出 <Worksheet "cma.xx">
 
# 3.获取单元格A2的值
print(sheet["A2"].value)  #输出 http://api.data.xxx.cn:8090
 
# 4.获取多个单元格的值,在同一行中
for cell in sheet["A2:C2"]:
	for i in cell:
		print(i.value)       #输出具体单元格值
# 5.在不同的行中
for cell in sheet["A2:B4"]:
	for i in cell:
		print(i.value)       #输出具体单元格值
 
# 6.打印表中的所有数据
for row in sheet:                   #遍历每一行
	for i in row:                   #遍历每一行中的每一个单元格       
		print(i.value,end=", ")     #打印每行的单元格数据
	print()
 
# 7.获取指定范围单元格中的数据
for row in sheet.iter_rows(min_row=2, max_row=5, max_col=6):
	for i in row:
		print(i.value,end=', ')
	print()
 
# 8.按列的方式遍历,即以纵向的方式读取数据
for row in sheet.columns:  #从第一列数据开始遍历
	for i in row:          #获取每一列中的每一个数据
		print(i.value,end=", ")
	print()

删除数据

1. 删除整列数据

#导入库中的工作簿
from  openpyxl import Workbook, load_workbook
 
#加载文件
wb = load_workbook("cma.xx.xlsx")
 
# 选择一个工作表进入
sheet = wb["cma.xx"]
 
sheet.delete_cols(2)    #指定删除第二列
sheet.delete_cols(2,3)  #删除第二列的往下三列,包括第二列
 
wb.save("cma.xx.xlsx")

三、csv文件转xlsx

在进行文件转换时我们需要关注两个文件的编码方式,在使用pandas读取csv文件时,也需要指定解码方式

1. 首先查看需要转换的ccv文件的编码方式,使用记事本打开csv文件,查看-状态栏,可以看到文件下方有编码方式:ANSI

2. 脚本如下

import pandas as pd
 
def csv_to_xlsx():
    csv = pd.read_csv('cma.xx.csv', encoding='ANSI')
    csv.to_excel('2.xlsx', sheet_name='data', index=False)
 
if __name__ == '__main__':
    csv_to_xlsx()

到此这篇关于Python办公自动化之Excel介绍的文章就介绍到这了,更多相关Python Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在 Python 中利用Pool 进行多处理

    在 Python 中利用Pool 进行多处理

    这篇文章主要介绍了在 Python 中利用Pool进行多处理,文章围绕主题展开详细的内容介绍,具有一定的参考价值需要的小伙伴可以参考一下
    2022-04-04
  • Python+Pygame实现之走四棋儿游戏的实现

    Python+Pygame实现之走四棋儿游戏的实现

    大家以前应该都听说过一个游戏:叫做走四棋儿。直接在家里的水泥地上用烧完的炭火灰画出几条线,摆上几颗石头子即可。当时的火爆程度可谓是达到了一个新的高度。本文将利用Pygame实现这一游戏,需要的可以参考一下
    2022-07-07
  • 详解Python中的Numpy、SciPy、MatPlotLib安装与配置

    详解Python中的Numpy、SciPy、MatPlotLib安装与配置

    这篇文章主要介绍了详解Python中的Numpy、SciPy、MatPlotLib安装与配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Python读写配置文件的方法

    Python读写配置文件的方法

    这篇文章主要介绍了Python读写配置文件的方法,涉及ConfigParser模块的操作技巧,需要的朋友可以参考下
    2015-06-06
  • 通过python连接Linux命令行代码实例

    通过python连接Linux命令行代码实例

    这篇文章主要介绍了通过python连接Linux命令行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Pycharm设置界面全黑的方法

    Pycharm设置界面全黑的方法

    今天小编就为大家分享一篇Pycharm设置界面全黑的方法,具有很好的参考价值。希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python使用docx模块编辑Word文档

    Python使用docx模块编辑Word文档

    docx提供了一组功能丰富的函数和方法,用于创建、修改和读取Word文档,Python可以用它对word文档进行大批量的编辑,下面小编就来通过一些示例为大家好好讲讲吧
    2023-07-07
  • python数据可视化绘制火山图示例

    python数据可视化绘制火山图示例

    这篇文章主要为大家介绍了python数据可视化绘制火山图示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Django REST framework 异常处理

    Django REST framework 异常处理

    本文将结合实例代码,介绍Django REST framework 异常处理,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • Python中的高级函数map/reduce使用实例

    Python中的高级函数map/reduce使用实例

    这篇文章主要介绍了Python中的高级函数map/reduce使用实例,Python内建了map()和reduce()函数,本文就讲解如何使用它,需要的朋友可以参考下
    2015-04-04

最新评论