本文主要介绍“如何实现Python办公自动化Excel”。在日常操作中,相信很多人对于如何实现Python办公自动化Excel都有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮你解答“如何实现Python办公自动化Excel”的疑惑!接下来,请和边肖一起学习!
前言
Python处理Excel的包是openpyxl,其支持操作的文件类型有:xlsx,xlsm,xltx . xltm。
pip安装openpyxl
安装后,我们应该了解Excel的组件,如下图所示:
Excel文件中三个对象
工作簿:工作簿是一个excel文件工作表。一个工作簿有多个工作表,并且标识了表名,例如“sheet1”和“sheet2”。单元格:存储数据对象的单元格。
00-1010 1.创建空白工作簿
创建一个空工作簿并重命名默认工作表。
#导入库中的工作簿
fromopenpyxlimportWorkbook
#创建工作簿
wb=工作簿()
#获取当前工作表并激活它。
工作表=wb.active
#设置工作表名称,或者不设置。不要将工作表的默认名称设置为工作表。
工作表标题='工作表1 '
打印(工作表标题)#打印工作表名称。
#保存表格
Wb.save('new_excel.xlsx ')已成功创建,如下所示
2.打开现有文件。
从openpyxlimportWorkbook,load_workbook
#加载excel文件
WB=load _ workbook(' new _ excel . xlsx ')
#获取您所在的工作表。
工作表=wb.active
#打印工作表名称
Print(sheet.title)# Output '工作表1'
一、创建、打开excel文件
写入excel的数据以坐标的形式写入,每个单元格可以用“纵坐标和横坐标”表示,如下:
方法1:将数据写入自定义位置
在C3和D3写入数据,如下所示
#导入库中的工作簿
从openpyxlimportWorkbook,load_workbook
#加载文件
WB=load _ workbook(' new _ excel . xlsx ')
#获取文件所在的工作表
工作表=wb.active
#打印工作表名称
打印(工作表标题)#输出工作表1
表['C3']='g '
irl"
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怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/156066.html