第 5 章 Python 第三方库简介——Python办公自动化
当前位置:首页 > python基础
第 5 章 Python 第三方库简介——Python办公自动化

中中

2022/8/7 21:47:50

      Python 的特点就是具有众多的第三方库,也称为外部库,可以更高效率的实现程序开发。

     本章经过整理与比对梳理了相关的常用第三方库,对其中重要的常用第三方库,例如 xlrd 库、xlwt 库、xlutils 库、xlwings 库、pandas 库、openpyxl 库、matplotlib.pyplot 库和 numpy 库,都给出了相应的详细介绍与功能展示。



实例01获取所有工作表名称


题目:打开D:盘abc 文件夹下的工作簿“例题锦集.xlsx”,输出所有工作表名称。

																										
  1. import xlrd
  2. data = xlrd.open_workbook('d://abc//例题锦集.xlsx')  #打开文件
  3. sheet_name = data.sheet_names()                     #获取所有sheet名称
  4. print(sheet_name)                                   #输出所有工作表名称



教学视频:

/Upload/image/20220807220159_4418.mp4


实例02根据下标获取工作表名称


题目:打开D:盘abc 文件夹下的工作簿“例题锦集.xlsx”,输出工作表名称。

																										
  1. import xlrd
  2. data = xlrd.open_workbook('d://abc//例题锦集.xlsx')  #打开文件
  3. sheet_name = data.sheet_names()[1]                  #打开工作表
  4. print(sheet_name)                                   #输出工作表名称



教学视频:

/Upload/image/20220807220336_7277.mp4


实例03输出工作表名称、行数和列数


题目:打开D:盘abc 文件夹下的工作簿“例题锦集.xlsx”及指定工作表,输出工作表名称、工作表中的行数和列数。

																										
  1. import xlrd
  2. data = xlrd.open_workbook('d://abc//例题锦集.xlsx')  #打开文件
  3. sheet= data.sheet_by_index(1)                       #打开工作表
  4. print(sheet.name)                                   #输出sheet名称
  5. print(sheet.nrows)                                  #输出sheet行数
  6. print(sheet.ncols)                                  #输出sheet列数



教学视频:

/Upload/image/20220807220503_8325.mp4


实例04根据工作表名称获取整行和整列的值


题目:打开D:盘abc 文件夹下的工作簿“例题锦集.xlsx”及指定工作表,输出工作表中指定行数的内容和指定列数的内容。

																										
  1. import xlrd
  2. data = xlrd.open_workbook('d://abc//例题锦集.xlsx')  #打开文件
  3. sheet = data.sheet_by_name('饮料全表')               #打开工作表
  4. print(sheet.row_values(3))                          #输出整行信息
  5. print(sheet.col_values(3))                          #输出整列信息



教学视频:

/Upload/image/20220807220800_3448.mp4


实例05获取指定单元格的内容


题目:打开D:盘abc 文件夹下的工作簿“例题锦集.xlsx”及指定工作表,输出工作表中指定单元格的内容。

																										
  1. import xlrd
  2. data = xlrd.open_workbook('d://abc//例题锦集.xlsx')  #打开文件
  3. sheet = data.sheet_by_name('饮料全表')               #打开工作表
  4. print(sheet.cell(1,0).value)               #输出指定单元格的内容
  5. print(sheet.cell_value(1,0))               #输出指定单元格的内容
  6. print(sheet.row(1)[0].value)               #输出指定单元格的内容



教学视频:

/Upload/image/20220807220926_3890.mp4


实例06获取单元格内容的数据类型


题目:打开D:abc 文件夹下的工作簿“饮料销售情况.xls”及指定工作表,输出工作表中指定单元格的数据类型。

																								
  1. import xlrd
  2. data = xlrd.open_workbook('d://abc//饮料销售情况.xls')     #打开文件
  3. sheet = data.sheet_by_name('sheet1')                     #打开工作表
  4. print(sheet.cell(1,0).ctype)                #输出单元格内容的数据类型
  5. print(sheet.cell(3,4).ctype)                #输出单元格内容的数据类型



教学视频:

/Upload/image/20220814101905_0913.mp4


实例07写入数据


题目:创建工作簿及工作表,将工作表命名为“第5章”,在指定单元格中输入“星期一”,将工作簿以“521.xls”为名进行保存。

																								
  1. import xlwt
  2. workbook = xlwt.Workbook()                 #创建工作簿
  3. worksheet = workbook.add_sheet('第5章')     #创建工作表
  4. worksheet.write(0, 0,'星期一')               #添加数据
  5. workbook.save(r'd:\abc\521.xls')             #保存文件



教学视频:

/Upload/image/20220814102019_3370.mp4


实例08设置单元格宽度


题目:创建工作簿及工作表,对指定单元格设置宽度,将工作簿以“522.xls”为名进行保存。

																								
  1. import xlwt
  2. workbook = xlwt.Workbook()                 #创建工作簿
  3. worksheet = workbook.add_sheet('第5章')     #创建工作表
  4. worksheet.write(0, 0,'星期一')               #添加数据
  5. worksheet.col(0).width = 3333              #设置单元格宽度
  6. workbook.save(r'd:\abc\522.xls')             #保存文件



教学视频:

/Upload/image/20220814102135_2265.mp4


实例09在单元格中输入日期


题目:创建工作簿及工作表,在指定单元格中输入日期,将工作簿以“523.xls”为名进行保存。

																								
  1. import xlwt
  2. import datetime
  3. workbook=xlwt.Workbook()                #创建工作簿
  4. worksheet=workbook.add_sheet('第5章')      #创建工作表
  5. style=xlwt.XFStyle()                      #初始化样式
  6. style.num_format_str = 'M/D/YY'            #设置时间格式
  7. worksheet.write(0,0,datetime.datetime.now(),style)    #添加数据
  8. workbook.save(r'd:\abc\523.xls')            #保存文件



教学视频:

/Upload/image/20220814102243_1152.mp4


实例10向单元格添加一个公式


题目:创建工作簿及工作表,在指定单元格中输入公式,将工作簿以“524.xls”为名进行保存。

																								
  1. import xlwt
  2. workbook=xlwt.Workbook()                    #创建工作簿
  3. worksheet=workbook.add_sheet('第5章')          #创建工作表
  4. worksheet.write(0,0,5)                         #写入数据
  5. worksheet.write(0,1,2)                          #写入数据
  6. worksheet.write(1,0,xlwt.Formula('A1*B1'))         #写入公式
  7. worksheet.write(1,1,xlwt.Formula('SUM(A1,B1)'))     #写入公式
  8. workbook.save(r'd:\abc\524.xls')                  #保存文件



教学视频:

/Upload/image/20220814102352_6196.mp4


实例11在单元中添加超链接


题目:创建工作簿及工作表,在指定单元格中添加超链接,将工作簿以“525.xls”为名进行保存。

																								
  1. import xlwt
  2. workbook=xlwt.Workbook()                 #创建工作簿
  3. worksheet=workbook.add_sheet('第5章')      #创建工作表
  4. worksheet.write(0,0,xlwt.Formula('HYPERLINK("http://www.baidu.com";"baidu")')) #添加超链接
  5. workbook.save(r'd:\abc\525.xls')          #保存文件



教学视频:

/Upload/image/20220814102503_0286.mp4


实例12合并工作表中的单元格


题目:创建工作簿及工作表,合并指定的单元格,将工作簿以“526.xls”为名进行保存。

																								
  1. import xlwt
  2. workbook=xlwt.Workbook()                 #创建工作簿
  3. worksheet=workbook.add_sheet('第5章')      #创建工作表
  4. worksheet.write_merge(0,0,0,3,'第1节')        #合并单元格
  5. worksheet.write_merge(2,4,2,4,'第2节')       #合并单元格
  6. workbook.save(r'd:\abc\526.xls')




教学视频:

/Upload/image/20220814102618_2246.mp4


实例13设置单元格内容的对齐方式


题目:创建工作簿及工作表,对指定单元格设置对齐属性,将工作簿以“527.xls”为名进行保存。

																								
  1. import xlwt
  2. workbook=xlwt.Workbook()                  #创建工作簿
  3. worksheet=workbook.add_sheet('第5章')      #创建工作表
  4. alignment=xlwt.Alignment()                       #创建对齐属性
  5. alignment.horz=xlwt.Alignment.HORZ_CENTER     #设置水平居中
  6. alignment.vert=xlwt.Alignment.VERT_CENTER      #设置垂直居中
  7. style=xlwt.XFStyle()                            #初始化样式
  8. style.alignment=alignment            #将设置好的属性对象赋值给style对应的属性
  9. worksheet.write(0,0,'第1节',style)      #输入数据并使用style对象
  10. workbook.save(r'd:\abc\527.xls')



教学视频:

/Upload/image/20220814102725_0799.mp4


实例14添加单元格边框


题目:创建工作簿及工作表,对指定单元格设置边框属性,将工作簿以“528.xls”为名进行保存。

																								
  1. import xlwt
  2. workbook=xlwt.Workbook()                #创建工作簿
  3. worksheet=workbook.add_sheet('第5章')     #创建工作表
  4. borders=xlwt.Borders()                    #创建边框属性
  5. borders.left=xlwt.Borders.DASHED         #设置虚线
  6. borders.right=xlwt.Borders.DASHED        #设置虚线
  7. borders.top=xlwt.Borders.DASHED          #设置虚线
  8. borders.bottom=xlwt.Borders.DASHED      #设置虚线
  9. style=xlwt.XFStyle()                     #初始化样式
  10. style.borders=borders                     #添加边框
  11. worksheet.write(1,1,'第1节',style)           #输入数据并使用style对象
  12. workbook.save(r'd:\abc\528.xls')



教学视频:

/Upload/image/20220814102844_2366.mp4


实例15设置单元格背景色


题目:创建工作簿及工作表,对指定单元格设置背景色,将工作簿以“529.xls”为名进行保存。

																								
  1. import xlwt
  2. workbook=xlwt.Workbook()                    #创建工作簿
  3. worksheet=workbook.add_sheet('第5章')          #创建工作表
  4. pattern=xlwt.Pattern()                         #创建背景属性
  5. pattern.pattern=xlwt.Pattern.SOLID_PATTERN     #设置模式
  6. pattern.pattern_fore_colour=5                   #设置颜色
  7. style=xlwt.XFStyle()                         #初始化样式
  8. style.pattern=pattern                          #将设置好的属性对象赋值给style对应的属性
  9. worksheet.write(1,1,'第1节',style)               #输入数据并使用style对象
  10. workbook.save(r'd:\abc\529.xls')



教学视频:

/Upload/image/20220814102954_3326.mp4


实例16 对源文件进行备份


题目:打开工作簿“饮料销售情况.xls”并复制,将复制生成的新工作簿以“531.xls”为名进行保存。

																								
  1. import xlrd
  2. from xlutils.copy import copy
  3. workbook=xlrd.open_workbook(r'd:\abc\饮料销售情况.xls')  #打开工作簿
  4. new_workbook=copy(workbook)         #复制
  5. new_workbook.save(r'd:\abc\531.xls')     #保存工作簿


教学视频:

/Upload/image/20220814103058_6334.mp4


实例17获取工作簿信息


题目:打开工作簿“饮料销售情况.xls”,获取工作簿中所有工作表的名字、第1个工作表的名称及其中数据的行数。

																								
  1. import xlrd
  2. workbook = xlrd.open_workbook(r'd:\abc\饮料销售情况.xls')  #打开工作簿
  3. sheets = workbook.sheet_names()                  #获取所有工作表名称并形成列表元素
  4. worksheet = workbook.sheet_by_name(sheets[0])     #获取第1个工作表
  5. rows_old = worksheet.nrows                     #获取第1个工作表中数据的行数
  6. print("工作表的列标签为:")
  7. print(sheets)
  8. print()
  9. print("工作表的名称为:",end="")
  10. print(sheets[0])
  11. print()
  12. print("工作表的行数为:",end="")
  13. print(worksheet.nrows)



教学视频:

/Upload/image/20220814103208_7140.mp4


实例18复制后修改文件内容


题目:打开工作簿“饮料销售情况.xls”,先复制生成一个新的工作簿,并修改新工作簿中第1个工作表中的内容,将新的工作簿以“533.xls”为名进行保存。

																								
  1. import xlrd
  2. import xlwt
  3. from xlutils.copy import copy
  4. old_excel = xlrd.open_workbook(r'd:\abc\饮料销售情况.xls')
  5. new_excel = copy(old_excel)            #复制工作表
  6. ws = new_excel.get_sheet(0)            #获取第1个工作表
  7. ws.write(0, 0, '第1行,第1列')          #写入数据
  8. ws.write(0, 1, '第1行,第2列')
  9. ws.write(0, 2, '第1行,第3列')
  10. ws.write(1, 0, '第2行,第1列')
  11. ws.write(1, 1, '第2行,第2列')
  12. ws.write(1, 2, '第2行,第3列')
  13. new_excel.save(r'd:\abc\533.xls')        #保存文件



教学视频:

/Upload/image/20220814103314_3515.mp4


实例19获取所有单元格索引坐标


题目:打开工作簿“饮料销售情况.xls”及其第1个工作表,将第1
数据及第4列数据加上索引并输出,同时输出第4列中500ml数据所在的行索引和列索引。

																								
  1. import xlrd
  2. workbook=xlrd.open_workbook(r'd:\abc\饮料销售情况.xls') 
  3. sheet1=workbook.sheets()[0]                  #打开工作表
  4. col4=sheet1.col_values(3)                    #取出第4列
  5. row={str(i):col4[i] for i in range(0,len(col4))}     #设置行索引
  6. row1=sheet1.row_values(0)                     #取出第1行
  7. col={str(i):row1[i] for i in range(0,len(row1))}     #设置列索引
  8. print("行索引内容为:",end=" ")
  9. print(list(enumerate(row)))                     #输出行索引
  10. print("列索引内容为:",end=" ")
  11. print(list(enumerate(col)))                     #输出列索引
  12. mtitle="容量"   
  13. mname="500ml"   
  14. a="".join([i for i in row if row[i]==mname])         #获取“容量”所在行索引
  15. b="".join([i for i in col if col[i]==mtitle])            #获取500ml所在列索引
  16. print("500ml的行索引与列索引分别为:",end=" ")
  17. print(a,b)                                   #输出行索引和列索引



教学视频:

/Upload/image/20220814103425_4486.mp4


实例20单元格内容的修改


题目:打开工作簿“饮料销售情况.xls”及其第1个工作表,将其中的
数据500ml修改为“修改内容”,并将工作簿以“535.xls”为名进行保存。

																								
  1. import xlrd
  2. import xlwt
  3. from xlutils.copy import copy
  4. workbook=xlrd.open_workbook(r'd:\abc\饮料销售情况.xls') 
  5. sheet=workbook.sheets()[0]
  6. row1=sheet.row_values(0)                       #取出第1行
  7. cols={str(i):row1[i] for i in range(0,len(row1))}      #设置行索引
  8. col4=sheet.col_values(3)                       #取出第4列,
  9. rows={str(i):col4[i] for i in range(0,len(col4))}      #设置列索引
  10. mtitle="容量"    
  11. mname="500ml"   
  12. rindex="".join([i for i in rows if rows[i]==mname])      #获取行索引
  13. cindex="".join([i for i in cols if cols[i]==mtitle])         #获取列索引
  14. rindex=int(rindex)                                  #转换数据类型     
  15. cindex=int(cindex)                                 #转换数据类型
  16. old_excel=xlrd.open_workbook(r'd:\abc\饮料销售情况.xls') 
  17. new_excel=copy(old_excel)                         #复制文件
  18. ws=new_excel.get_sheet(0)                          #获取工作表 
  19. ws.write(rindex,cindex, '修改内容')                   #写入(修改)数据
  20. new_excel.save(r'd:\abc\535.xls')                      #保存文件



教学视频:

/Upload/image/20220814103539_9432.mp4


实例21综合实例


题目:设置单元格的字体对齐方式、字体大小、边框样式并对单元格进行合并。

																					
  1. import xlwings as xw
  2. app=xw.App(visible=True, add_book=False)
  3. wb=app.books.add()
  4. sht=wb.sheets.active
  5. sht.range(2,4).value="中国"
  6. fw=sht.range('B2:E3')
  7. """设置单元格大小"""
  8. sht.autofit()                      #自动调整单元格大小
  9. sht.range(1,4).column_width=20     #设置第4列列宽,(1,4)表示第1行第4列的单元格
  10. sht.range(2,4).row_height=60       #设置第2行行高
  11. """设置单元格字体格式"""
  12. fw.color=255,200,255            #设置单元格的填充颜色
  13. fw.api.Font.ColorIndex=3         #设置字体的颜色
  14. fw.api.Font.Size=24              #设置字体的大小
  15. fw.api.Font.Bold=True             #设置字体为粗体
  16. fw.api.HorizontalAlignment=-4108    #-4108表示水平居中
  17. fw.api.VerticalAlignment=-4108       #-4108表示垂直居中
  18. fw.api.NumberFormat="0.00"          #设置单元格内数字的格式
  19. """设置边框"""
  20. fw=sht.range('B5')
  21. fw.api.Borders(9).LineStyle=1       #Borders(9)表示底部边框,LineStyle=1表示实线
  22. fw.api.Borders(9).Weight=3        #设置边框粗细
  23. fw=sht.range('D5')
  24. fw.api.Borders(7).LineStyle=2      #Borders(7)表示左边框,LineStyle=2表示虚线
  25. fw.api.Borders(7).Weight=3
  26. fw=sht.range('C5')
  27. fw.api.Borders(8).LineStyle=5      #Borders(8)表示顶部框,LineStyle=5表示双点划线
  28. fw.api.Borders(8).Weight=3
  29. fw=sht.range('E5')
  30. fw.api.Borders(10).LineStyle=4     #Borders(10)表示右边框,LineStyle=4表示点划线
  31. fw.api.Borders(10).Weight=3
  32. fw=sht.range('B7:C10')
  33. fw.api.Borders(5).LineStyle = 1     #Borders(5)表示从单元格左上角到右下角
  34. fw.api.Borders(5).Weight = 3
  35. fw=sht.range('D7:E10')
  36. fw.api.Borders(6).LineStyle=1     #Borders(6)表示从单元格左下角到右上角
  37. fw.api.Borders(6).Weight=3
  38. fw=sht.range('B12:D15')
  39. fw.api.Borders(11).LineStyle=1    #Borders(11)表示内部垂直中线
  40. fw.api.Borders(11).Weight=3
  41. fw=sht.range('E12:G15')
  42. fw.api.Borders(12).LineStyle=1    #Borders(12)表示内部水平中线
  43. fw.api.Borders(12).Weight=3
  44. """合并、拆分单元格"""
  45. sht.range('G5:H6').api.Merge()        #合并单元格
  46. sht.range('G7:H8').api.Merge()   
  47. sht.range('G7:H8').api.UnMerge()      #拆分单元格
  48. """插入、读取公式"""
  49. sht.range('F1').formula='=sum(D1+E1)'    #插入公式
  50. print(sht.range('F1').formula)            #读取公式
  51. wb.save(r'd:\abc\5419.xlsx')
  52. wb.close()
  53. app.quit()



教学视频:

/Upload/image/20220815110528_5302.mp4


实例22创建Series


题目:创建一个Series,并将其数据打印出来。

																					
  1. import pandas as pd
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. s=pd.Series([1,3,5,np.nan,6,8])
  5. print(s)



教学视频:

/Upload/image/20220815110653_9565.mp4


实例23创建DataFrame(以数据方式创建)


题目:创建一个DataFrame,先给出一个时间范围,然后基于这个时间范围创建了一个DataFrameDataFrame的行标签即刚刚创建的时间范围,而列标签为ABCD

																					
  1. import pandas as pd
  2. import numpy as np
  3. df=pd.DataFrame(np.random.randn(6,4),columns=['A','B','C','D'])
  4. print(df)



教学视频:

/Upload/image/20220815110757_2150.mp4


实例24创建DataFrame(以字典方式创建)


题目:创建一个DataFrame,其中输入的参数是一个字典,字典的每个键值对的值可以转换成一个DataFrame

																					
  1. import pandas as pd
  2. import numpy as np
  3. df=pd.DataFrame({'A':1.,'B':pd.Timestamp('20200101'),
  4.                 'C':pd.Series(1,index=range(4),dtype='float32'),
  5.                 'D':np.array([3]*4,dtype='int32'),
  6.                 'E':pd.Categorical(['test1',' test2','test3',' test4']),
  7.                 'F':'foo'})
  8. print(df)



教学视频:

/Upload/image/20220815110904_4244.mp4


实例25查看DataFrame数据信息


题目:查看DataFrame数据信息。

																					
  1. import pandas as pd
  2. import numpy as np
  3. df=pd.DataFrame({'A':1.,'B':pd.Timestamp('20200101'),
  4.                   'C':pd.Series(3,index=range(4)),
  5.                   'D':np.array([3]*4),
  6.                   'E':pd.Categorical(['test1','test2','test3','test4']),
  7.                   'F':'foo'})
  8. print(df.head(2))             #显示前2行信息
  9. print(df.tail(2))              #显示后2行信息
  10. print("行索引:",end=" ")
  11. print(df.index)              #显示行索引
  12. print("列索引:",end=" ")
  13. print(df.columns)           #显示列索引
  14. print("各列数据类型:")
  15. print(df.dtypes)             #显示各个列的数据类型
  16. print(df.values)             #显示DataFrame的值



教学视频:

/Upload/image/20220815111140_9078.mp4


实例26DataFrame标签进行排序


题目:DataFrame进行标签排序。axis=1时,沿着列方向,对各个列标签进行排序;axis=0时,沿着行方向,对行标签进行排序。

																					
  1. import pandas as pd
  2. import numpy as np
  3. df=pd.DataFrame({'A':1.,'B':pd.Timestamp('20200101'),
  4.                   'C':pd.Series(1,index=range(4),dtype='float32'),
  5.                   'D':np.array([3]*4,dtype='int32'),
  6.                   'E':pd.Categorical(['test1','test2','test3','test4']),
  7.                   'F':'foo'})
  8. df=df.sort_index(axis=1,ascending=False)   #对列索引进行排序
  9. print(df)  



教学视频:

/Upload/image/20220815111259_8267.mp4


实例27DataFrame数据进行排序


题目:根据E列数据对DataFrame进行排序。

																					
  1. import pandas as pd
  2. import numpy as np
  3. df=pd.DataFrame({'A':1.,'B':pd.Timestamp('20200101'),
  4.                 'C':pd.Series(1,index=range(4),dtype='float32'),
  5.                 'D':np.array([3]*4,dtype='int32'),
  6.                 'E':pd.Categorical(['test2','test4','test3','test1']),
  7.                 'F':'foo'})
  8. print(df)                   #原始数据
  9. df=df.sort_values(by='E')      #根据E列数据进行排序
  10. print(df)                   #排序后的数据



教学视频:

/Upload/image/20220815111358_2290.mp4


实例28提取部分数据(单列数据)


题目:提取DataFrame的一个数据列。

																					
  1. import pandas as pd
  2. import numpy as np
  3. df=pd.DataFrame({'A':1.,'B':pd.Timestamp('20200101'),
  4.                   'C':pd.Series(1,index=range(4),dtype='float32'),
  5.                   'D':np.array([3]*4,dtype='int32'),
  6.                   'E':pd.Categorical(['test1','test2','test3','test4']),
  7.                   'F':'foo'})
  8. print(df['E'])     #提取E列数据 



教学视频:

/Upload/image/20220815111447_6585.mp4


实例29提取部分数据(多行数据)


题目:提取DataFrame的若干数据行。

																					
  1. import pandas as pd
  2. import numpy as np
  3. df=pd.DataFrame({'A':1.,'B':pd.Timestamp('20200101'),
  4.                   'C':pd.Series(1,index=range(4),dtype='float32'),
  5.                   'D':np.array([3]*4,dtype='int32'),
  6.                   'E':pd.Categorical(['test1','test2','test3','test4']),
  7.                   'F':'foo'})
  8. print(df[0:3])    #提取多行数据



教学视频:

/Upload/image/20220815111539_1402.mp4


实例30提取部分数据(条件数据)


题目:通过条件过滤提取DataFrame的若干数据行。

																					
  1. import pandas as pd
  2. import numpy as np
  3. df=pd.DataFrame({'A':1.,'B':pd.Timestamp('20200101'),
  4.                   'C':pd.Series(1,index=range(4),dtype='float32'),
  5.                   'D':np.array([3]*4,dtype='int32'),
  6.                   'E':pd.Categorical(['test1','test2','test3','test4']),
  7.                  'F':'foo'})
  8. print(df[df.E=="test2"])



教学视频:

/Upload/image/20220815111629_2820.mp4


实例31创建文件


题目:创建Excel文件,将其以“561.xlsx”为名进行保存。

													
  1. from openpyxl import Workbook 
  2. wb = Workbook()                #创建文件
  3. wb.save(r"d:\abc\561.xlsx")        #保存文件



教学视频:

/Upload/image/20220817104424_5922.mp4


实例32打开已有文件


题目:打开D:abc文件夹中的“例题锦集.xlsx”文件,并输出其所有工作表名称。

													
  1. from openpyxl import load_workbook
  2. wb=load_workbook(r'd:\abc\例题锦集.xlsx')  #打开工作簿
  3. print(wb.sheetnames)       #输出工作簿中所有工作表名称




教学视频:

/Upload/image/20220817104524_6240.mp4


实例33创建工作表(在最后位置)


题目:在D:盘abc文件夹中创建工作簿“563.xlsx”并创建工作表“第5章”(在最后位置)。

													
  1. from openpyxl import Workbook 
  2. wb=Workbook()                   #创建工作簿
  3. ws=wb.create_sheet("第5章")        #创建工作表
  4. wb.save(r"d:\abc\563.xlsx")           #保存文件



教学视频:

/Upload/image/20220817104617_3675.mp4


实例34创建工作表(在开始位置)


题目:在D:盘abc文件夹中创建工作簿“564.xlsx”并创建工作表“第5章”(在开始位置)。

													
  1. from openpyxl import Workbook 
  2. wb=Workbook()                    #创建工作簿
  3. ws2=wb.create_sheet("第5章", 0)      #创建工作表
  4. wb.save(r"d:\abc\564.xlsx")          #保存文件



教学视频:

/Upload/image/20220817104707_7131.mp4


实例35选择工作表


题目:打开D:abc文件夹中的“例题锦集.xlsx”文件并选择工作表“销售数量”,输出工作表名称。

													
  1. from openpyxl import load_workbook
  2. wb=load_workbook(r'd:\abc\例题锦集.xlsx')     #打开工作簿
  3. ws=wb["销售数量"]
  4. print(ws.title)                              #输出工作表名称



教学视频:

/Upload/image/20220817104758_1520.mp4


实例36查看工作表名称


题目:打开D:abc文件夹中的“例题锦集.xlsx”文件,输出其所有工作表名称。

													
  1. from openpyxl import load_workbook
  2. wb=load_workbook(r'd:\abc\例题锦集.xlsx')     #打开工作簿
  3. print(wb.sheetnames)                       #输出所有工作表名称



教学视频:

/Upload/image/20220817104901_9733.mp4


实例37访问单元格


题目:打开D:abc文件夹中的“例题锦集.xlsx”文件及其“销售数量”工作表,输出相应单元格中的内容。

													
  1. from openpyxl import load_workbook
  2. wb=load_workbook(r'd:\abc\例题锦集.xlsx')     #打开工作簿
  3. ws=wb["销售数量"]                        #打开工作表
  4. c1=ws['A4']                               #访问单元格
  5. print(c1,end=":")
  6. print(c1.value)                            #输出单元格中的内容
  7. c2=ws.cell(row=4,column=2)                #访问单元格
  8. print(c2,end=":")
  9. print(c2.value)                          #输出单元格中的内容
  10. for i in range(1,4):                       #访问单元格
  11.     for j in range(1,4):
  12.         c3=ws.cell(row=i,column=j)
  13.         print(c3.value,end=":")          #输出单元格中的内容
  14.     print("")                            #换行



教学视频:

/Upload/image/20220817105004_1676.mp4


实例38访问行


题目:打开D:abc文件夹中的“例题锦集.xlsx”文件及其“班级成绩”工作表,访问相应的行。

													
  1. from openpyxl import load_workbook
  2. wb=load_workbook(r'd:\abc\例题锦集.xlsx')      #打开工作簿
  3. ws=wb["班级成绩"]                          #打开工作表
  4. row10=ws[10]                              #访问行
  5. print(row10)
  6. print('=============================')
  7. row_range=ws[2:3]                           #访问多个行
  8. print(row_range)



教学视频:

/Upload/image/20220817105104_4350.mp4


实例39访问列


题目:打开D:abc文件夹中的“例题锦集.xlsx”文件及其“班级成绩”工作表,访问相应的列。

														
  1. from openpyxl import load_workbook
  2. wb=load_workbook(r'd:\abc\例题锦集.xlsx')     #打开工作簿
  3. ws=wb["班级成绩"]                        #打开工作表
  4. colC=ws['C']                              #访问列
  5. print(colC)                
  6. print('=============================')
  7. col_range=ws['C:D']                       #访问多个列
  8. print(col_range)




教学视频:

/Upload/image/20220817105156_0199.mp4


实例40输入数据


题目:打开D:abc文件夹中创建工作簿及工作表“第5章”,输入数据,将工作簿以“5610.xlsx”为名进行保存。

														
  1. from openpyxl import Workbook 
  2. import datetime
  3. wb=Workbook()                   #创建工作簿
  4. ws=wb.create_sheet("第5章")        #创建工作表
  5. ws['A1']=42                       #输入数据(公式)
  6. ws.append([1, 2, 3])                  #按行(多行)输入数据
  7. ws['A3']=datetime.datetime.now().strftime("%Y-%m-%d")  #Python数据类型自动转换
  8. wb.save(r"d:\abc\5610.xlsx")           #保存文件




教学视频:

/Upload/image/20220817105245_9421.mp4


实例41获取工作表总行数和总列数


题目:打开D:abc文件夹中的“例题锦集.xlsx”文件并选择“销售数量”工作表,输出工作表的总行数和总列数。

												
  1. from openpyxl import load_workbook
  2. wb=load_workbook(r'd:\abc\例题锦集.xlsx')      #打开工作簿
  3. ws=wb["销售数量"]
  4. print("工作表总行数为:",end=" ")
  5. print(ws.max_row)                           #输出工作表最大行
  6. print("工作表总列数为:",end=" ")
  7. print(ws.max_column)                        #输出工作表最大列



教学视频:

/Upload/image/20220820095309_0931.mp4


实例42输出工作表中的数据


题目:打开D:abc文件夹中的“例题锦集.xlsx”文件并选择“班级成绩”工作表,输出工作表中的数据。

												
  1. from openpyxl import load_workbook
  2. wb=load_workbook(r'd:\abc\例题锦集.xlsx')     #打开工作簿
  3. ws=wb["班级成绩"]
  4. for row in ws.rows:                        #按行输出数据
  5.     for cell in row:
  6.         print(cell.value,end=";")
  7.     print("")
  8. print('===================')
  9. for column in ws.columns:                 #按列输出数据
  10.     for cell in column:
  11.         print(cell.value,end=";")
  12.     print("")



教学视频:

/Upload/image/20220820095417_7627.mp4


实例43设置单元格风格


题目:打开D:盘abc文件夹中的“例题锦集.xlsx”文件并选择“班级成绩”工作表,对其单元格的字体、居中方式、行高、列宽进行设置,并将工作簿以“5613.xlsx”为名进行保存。

												
  1. from openpyxl import load_workbook
  2. from openpyxl.styles import Font,colors,Alignment
  3. wb=load_workbook(r'd:\abc\例题锦集.xlsx')  #打开工作簿
  4. ws=wb["班级成绩"]
  5. zt=Font(size=24,italic=True,color='9c0006',bold=True)
  6. ws['C1'].font=zt                           #设置字体
  7. ws['C1'].alignment=Alignment(horizontal='center', vertical='center') #设置居中方式(水平和垂直)
  8. ws.row_dimensions[1].height=60            #设置行高
  9. ws.column_dimensions['C'].width = 20        #设置列宽
  10. wb.save(r"d:\abc\5613.xlsx")               #保存文件



教学视频:

/Upload/image/20220820095516_6035.mp4


实例44合并和拆分单元格


题目:D:abc文件夹中创建工作簿并在其中创建工作表“第5章”,分别对其中的一行和一个矩形区域进行单元格合并,并将工作簿以“5614.xlsx”为名进行保存。

												
  1. from openpyxl import Workbook 
  2. wb=Workbook()                    #创建工作簿
  3. ws=wb.create_sheet("第5章")         #创建工作表
  4. ws.merge_cells('C2:E2')               #合并行
  5. ws.merge_cells('C5:E7')               #合并矩形区域
  6. ws.merge_cells('A1:A6')
  7. ws.unmerge_cells('A1:A6')             #拆分单元格
  8. wb.save(r"d:\abc\5614.xlsx")           #保存文件



教学视频:

/Upload/image/20220820095618_1184.mp4


实例45修改工作表标签颜色


题目:打开D:盘abc文件夹中的“例题锦集.xlsx”文件,同时打开“班级成绩”工作表,对其中单元格的字体、居中方式、行高、列宽进行设置,将工作簿以“5615.xlsx”为名进行保存。

												
  1. from openpyxl import load_workbook
  2. wb=load_workbook(r'd:\abc\例题锦集.xlsx')      #打开工作簿
  3. ws=wb["饮料简介"]
  4. ws.sheet_properties.tabColor = "9c0006"         #设置工作表标签颜色
  5. wb.save(r"d:\abc\5615.xlsx")                   #保存文件



教学视频:

/Upload/image/20220820095712_9915.mp4


实例46figure函数


题目:创建figure窗口。

													
  1. import matplotlib.pyplot as plt
  2. fig=plt.figure()
  3. plt.show()



教学视频:

/Upload/image/20220820095825_8025.mp4


实例47subplot函数(建立单个子图)


题目:figure窗口建立子图。

													
  1. import matplotlib.pyplot as plt
  2. fig=plt.figure()
  3. ax=fig.add_subplot(111)
  4. plt.show()



教学视频:

/Upload/image/20220820095925_9714.mp4


实例48axes函数(建立轴线)


题目:figure窗口中的子图设置坐标轴边界。

													
  1. import matplotlib.pyplot as plt
  2. plt.rcParams['font.sans-serif']=['SimHei']
  3. plt.rcParams['axes.unicode_minus']=False
  4. fig=plt.figure()
  5. ax=fig.add_subplot(111)
  6. ax.set(xlim=[0.5, 4.5], ylim=[-2, 8], title='标题',ylabel='y轴', xlabel='x轴')
  7. plt.show()



教学视频:

/Upload/image/20220820100020_5581.mp4


实例49subplot函数(建立多个子图)


题目:figure窗口中建立多个子图。

													
  1. import matplotlib.pyplot as plt
  2. fig=plt.figure()
  3. ax1 = fig.add_subplot(221)
  4. ax2 = fig.add_subplot(222)
  5. ax3 = fig.add_subplot(224)
  6. plt.show()



教学视频:

/Upload/image/20220820100114_6465.mp4


实例50subplot函数(建立有轴线的子图)


题目:figure窗口中生成所有axes

													
  1. import matplotlib.pyplot as plt
  2. fig, axes=plt.subplots(nrows=2, ncols=2)
  3. axes[0,0].set(title='Upper Left')
  4. axes[0,1].set(title='Upper Right')
  5. axes[1,0].set(title='Lower Left')
  6. axes[1,1].set(title='Lower Right')
  7. plt.show()



教学视频:

/Upload/image/20220820100208_5701.mp4


实例51绘制一条直线


题目:创建画布,同时绘制一条直线。

						
  1. import matplotlib.pyplot as plt
  2. plt.figure()                                #创建绘图区域
  3. plt.plot([0,5],[2,7],linewidth=5,linestyle='solid')    #绘制直线
  4. plt.show()



教学视频:

/Upload/image/20220823085338_0521.mp4


实例52绘制多条直线


题目:创建画布,同时绘制多条直线。

						
  1. import matplotlib.pyplot as plt
  2. plt.figure()                                           #创建绘图区域
  3. plt.plot([0,5],[1,6],[0,5],[8,13],linewidth=5,linestyle='solid')     #绘制直线
  4. plt.show()



教学视频:

/Upload/image/20220823085449_4739.mp4


实例53绘制曲线


题目:figure窗口中生成子图并画线。

						
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. x=np.linspace(0,np.pi)
  4. ysin=np.sin(x)
  5. ycos=np.cos(x)
  6. fig=plt.figure()
  7. ax1=fig.add_subplot(221)
  8. ax2=fig.add_subplot(222)
  9. ax3=fig.add_subplot(223)
  10. ax1.plot(x,ysin)
  11. ax2.plot(x,ysin,'-.',linewidth=2)
  12. ax3.plot(x,ycos,color='blue',marker='<',linestyle='dashed')
  13. plt.show()



教学视频:

/Upload/image/20220823085551_2516.mp4


实例54创建artist对象


题目:创建artist对象。

						
  1. import matplotlib
  2. import matplotlib.pyplot as plt
  3. plt.rcParams['font.sans-serif']=['SimHei']
  4. plt.rcParams['axes.unicode_minus']=False
  5. fig=plt.figure()                  #创建一个区域
  6. ax=fig.add_axes([0.1,0.5,0.8,0.5])    #add_axes()新增子区域
  7. ax.set_xlabel('x轴')              #设置x轴
  8. ax.set_ylabel('y轴')              #设置y轴
  9. line=ax.plot([0,5],[0,1])           #绘图
  10. plt.show()



教学视频:

/Upload/image/20220823085647_3480.mp4


实例55通过关键字参数进行绘图


题目:通过关键字参数的方式进行绘图。

						
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. x=np.linspace(0,10,200)
  4. mm={'mean':0.5*x*np.cos(2*x)+2.1*x}
  5. fig,ax=plt.subplots()
  6. ax.plot('mean',data=mm)  #绘制“中心线”
  7. plt.show()



教学视频:

/Upload/image/20220823085750_4328.mp4


实例56绘制散点图


题目:绘制散点图。

						
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. x=np.arange(10)
  4. y=np.random.randn(10)
  5. plt.scatter(x,y,color='red',marker='+')
  6. plt.show()



教学视频:

/Upload/image/20220823085857_4827.mp4


实例57绘制条形图


题目:绘制水平条形图。

						
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. np.random.seed(1)                        #控制产生的随机数的数值不变
  4. x=np.arange(5)
  5. y=np.random.randn(5)
  6. fig,axes=plt.subplots()
  7. axes.bar(x,y,color='red')                     #绘图
  8. axes.axhline(0,color='black',linewidth=3)       #画线
  9. plt.show()



教学视频:

/Upload/image/20220823090003_9018.mp4


实例58修改条形图


题目:修改条形图的样式。

						
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. np.random.seed(1)
  4. x=np.arange(5)
  5. y=np.random.randn(5)
  6. fig,axes=plt.subplots()
  7. kk=axes.bar(x,y,color='red',align='center')
  8. for bar,height in zip(kk,y):
  9.     if height<0:
  10.         bar.set(color='yellow',edgecolor='darkred',linewidth=2)
  11. plt.show()



教学视频:

/Upload/image/20220823090100_8129.mp4


实例59绘制直方图


题目:绘制直方图。

						
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. plt.rcParams['font.sans-serif']=['SimHei']
  4. plt.rcParams['axes.unicode_minus']=False
  5. np.random.seed(1)                 #控制产生的随机数的数值不变
  6. y=10
  7. x=np.random.randn(1000,3)         #产生1000×3维数组
  8. fig=plt.figure()
  9. ax=fig.add_subplot(111)
  10. colors=['red','tan','lime']
  11. ax.hist(x,y,density=True,histtype='bar',color=colors,label=colors)
  12. ax.legend(prop={'size':10})        #加入图例
  13. ax.set_title('直方图')             #加入标题
  14. plt.show()



教学视频:

/Upload/image/20220823090155_7416.mp4


实例60绘制饼图


题目:绘制饼图。

						
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. plt.rcParams['font.sans-serif']=['SimHei']
  4. plt.rcParams['axes.unicode_minus']=False
  5. bj='一班','二班','三班','四班'
  6. rs=[15,30,45,10]
  7. fig=plt.figure()
  8. ax=fig.add_subplot(111)
  9. ax.pie(rs,labels=bj,autopct='%1.1f%%',shadow=True)
  10. plt.show()



教学视频:

/Upload/image/20220823090250_4670.mp4



还可以输入200个字

蝈蝈派【海南省教改项目(Hnjg2022-80)支持】 网站版权所有

Python remained the copyright of our website

吉公网安备 22020402000437号

备案号:吉ICP备2020005062号-2

关注QQ群

了解Python

实时动态