python实验12 Excel办公

逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述python实验12 Excel办公相关的知识,希望能为你提供帮助。
实验目的在?常?作中,有的公司或部?要求???Excel办公的情况也是很多的。?如?Excel存放设备的管理IP,保存设备的?些?志,端?信息和基本信息等。
Openpyxl这个第三?模块,可以实现?python?动抓取设备中?些想要的信息然后?成?个Excel?件,将信息都存放在Excel中并且能?动完成创建?作表(Worksheet),为?作表改名,?动调整单元格背景颜?,为单元格设置边框等。
实验一?Openxlpy创建workbook和?作表(worksheet),并且为工作表改名。

from openpyxl import Workbook#调用Openpyxl创建Workbook对象

wb=Workbook()#创建一个workbook(excel文件),并将它赋值给变量wb
ws=wb.active#用wb.active生成第一个工作表(worksheet),赋值给变量ws,该工作表默认名为Sheet
ws.title=Test#将该工作表名从Sheet改成Test
wb.save(test_openpyxl.xlsx)#保存这个excel文件,并命名为 test_openpyxl.xlsx

实验?在实验?创建的Excel中,再创建两个工作表,分别命名为Switch和Router,将Switch工作表排在Excel的最前面。
from openpyxl import Workbook

wb=Workbook()
ws=wb.active
ws.title=Test

ws1 = wb.create_sheet("Switch", 0)#通过wb.create_sheet()来创建名为Switch的工作表,将其赋值给另外一个变量ws1,后面的参数0表示将该工作表放在所有工作表中的第一位
ws2 = wb.create_sheet("Router")#通过wb.create_sheet()来创建名为Router的工作表,将其赋值给另外一个变量ws2,后面不带参数表示将该工作表放在所有工作表中的最后一位

wb.save(test_openpyxl.xlsx)
print(wb.sheetnames)#查看所有工作表的名字

实验三为工作表Switch的单元格A1和B1添加内容,分别将其命名为Interfaces和Description。然后为单元格A2和A3分别添加Gi1/0/1, Gi1/0/2,为B2和B3分别添加PC1, PC2。
【python实验12 Excel办公】最后将A列下所有的单元格赋值给变量column_A,然后通过for循环遍历column_A,查看所有A列下的单元格的内容。
from openpyxl import Workbook

wb = Workbook()
ws = wb.active
ws.title = Test

ws1 = wb.create_sheet("Switch", 0)
ws2 = wb.create_sheet("Router")

ws1[A1] = Interfaces
ws1[B1] = Description#通过ws[单元格号]的形式来为指定的单元格添加内容
ws1.cell(row=2, column=1, value=https://www.songbingjia.com/android/Gi1/0/1)
ws1.cell(row=3, column=1, value=https://www.songbingjia.com/android/Gi1/0/2)
ws1.cell(row=2, column=2, value=https://www.songbingjia.com/android/PC1)
ws1.cell(row=3, column=2, value=https://www.songbingjia.com/android/PC2)#还可以使用ws.cell()函数来修改单元格的内容
wb.save(test_openpyxl.xlsx)

column_A = ws1[A]#通过ws1[A](A后面不带数字的话,表示整个A列)将A列下所有的单元格赋值给一个变量column_A
for i in column_A:
print (i.value)#查看所有A列下的单元格的内容

实验四继续学习Openpyxl中的一些常用的属性和函数来在不打开Excel文件的前提下,查看指定单元格和指定列、指定排下的所有单元格里的内容,以及如何替换已有单元格里的内容。
from openpyxl import Workbook

wb = Workbook()
ws = wb.active
ws.title = Test

ws1 = wb.create_sheet("Switch", 0)
ws2 = wb.create_sheet("Router")

ws1[A1] = Interfaces
ws1[B1] = Description
ws1.cell(row=2, column=1, value=https://www.songbingjia.com/android/Gi1/0/1)
ws1.cell(row=3, column=1, value=https://www.songbingjia.com/android/Gi1/0/2)
ws1.cell(row=2, column=2, value=https://www.songbingjia.com/android/PC1)
ws1.cell(row=3, column=2, value=https://www.songbingjia.com/android/PC2)

a3 = ws1[A3]
print (a3.value)#查看指定单元格里的内容,需要用到value这个属性

column_A = ws1[A]
for i in column_A:
print (i.value)#查看Switch工作表里整个A列下已有的内容

row_3 = ws1[3]
for i in row_3:
print (i.value)#查看Switch工作表里整个第3排的单元格中已有的内容

for row in ws1.iter_rows(min_row=1, max_col=2, max_row=3):
for cell in row:
print (cell.value)#同时查看Switch工作表里单元格A1-A3,B1-B3里的内容,可以用iter_rows()函数,其显示的顺序为A1,B1,A2,B2,A3,B3

for row in ws1.values:
for value in row:
print (value)#一次性查看excel文件里所有单元格的内容,可以用到ws.values

b3 = ws1[B3]
b3.value = https://www.songbingjia.com/android/PC3#改变已有的单元格里的内容并查看
print (b3.value)
wb.save(test_openpyxl.xlsx)

实验五为单元格添加背景颜色(黄色),为A列和B列所有有内容的单元格(A1,A2,A3,B1,B2,B3)设置边框,以及根据每列里宽度最长的单元格来调整列的宽度。
from openpyxl import Workbook
from openpyxl.styles import PatternFill, Border, Side# 要想实现为单元格添加背景颜色,设置边框,以及根据每列里宽度最长的单元格来调整列的宽度实验目的,必须从Openpyxl里导入PatternFill, Border, Side等几个对象

wb = Workbook()
ws = wb.active
ws.title = Test

ws1 = wb.create_sheet("Switch", 0)
ws2 = wb.create_sheet("Router")

ws1[A1] = Interfaces
ws1[B1] = Description
ws1.cell(row=2, column=1, value=https://www.songbingjia.com/android/Gi1/0/1)
ws1.cell(row=3, column=1, value=https://www.songbingjia.com/android/Gi1/0/2)
ws1.cell(row=2, column=2, value=https://www.songbingjia.com/android/PC1)
ws1.cell(row=3, column=2, value=https://www.songbingjia.com/android/PC2)

    推荐阅读