版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2/2实训任务:“结巴”中文分词库的使用学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的了解jieba库的基本功能熟练掌握jieba库的安装熟练掌握jieba库的常用函数使用,包括:jieba.lcut(s)、jieba.lcut(s,cut_all=True)、jieba.lcut_for_search(s)、jieba.add_word(w)掌握jieba库的三种分词模式的应用2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:jieba库的三种分词模式的训练1、任务内容编写程序,应用jieba库的三种分词模式,对字符串“jieba是优秀的中文分词第三方库”进行分词。函数名称描述jieba.lcut(s)精确模式,返回一个列表类型。jieba.lcut(s,cut_all=True)全模式,返回一个列表类型。jieba.lcut_for_search(s)搜索引擎模式,返回一个列表类型。jieba.add_word(w)向分词的词典增加新词w。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importjiebaprint(jieba.__version__)s='路不通行不得小便路不通行不得在此小便'result=jieba.lcut(s)print("精确模式:",result)result=jieba.lcut(s,cut_all=True)print("全模式:",result)result=jieba.lcut_for_search(s)print("搜索引擎模式:",result)jieba.add_word('计算机编程语言')result=jieba.lcut(s)print("加入新词后的精确模式:",result)3、参考答案及解析解析略任务二:英文文本解析1、任务内容编写程序,对一个txt格式的英文文章(比如english.txt)进行文本解析。程序提示输入一个英文文章的路径。打开该文件,并读取全部内容。读取文件时请注意字符的编码格式。字符转换为小字,并把特殊字符“!"#$%()*+<_>/:;<>=?@[\]\^_{}|~”删除。进行分词和统计,把前10个高频词显示出来。要求关键代码做好注释2、任务提交要求提交任务运行的截图,放在下面提交任务的代码#定义一个函数:defgetext():fname=input("请输入要打开的文件路径及名称,以txt结尾:")fo=open(fname,encoding='utf-8')txt=fo.read()txt=txt.lower()forchin'!"#$%()*+<_>/:;<>=?@[\]\^_{}|~':txt=txt.replace(ch,'')returntxt#调用函数hamlettxt=getext()#进行分词和统计words=hamlettxt.split()counts={}forwordinwords:counts[word]=counts.get(word,0)+1items=list(counts.items())items.sort(key=lambdax:x[1],reverse=True)foriinrange(10):word,count=items[i]print("{:<10}{:>5}".format(word,count))3、参考答案及解析解析略任务三:中文文本解析1、任务内容编写程序,对一个txt格式的中文文章(比如学习强国简介.txt)进行文本解析。程序提示输入一个中文文章的路径。打开该文件,并读取全部内容。读取文件时请注意字符的编码格式。进行分词和统计,把前10个高频词显示出来。在分词时需要使用liebiao=jieba.lcut(txt)进行分词。要求关键代码做好注释2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importjieba#读取文本fname=input("请输入要打开的文件地址及文本名称,以.txt结尾,路径要使用/:")fo=open(fname,encoding="utf-8")txt=fo.read()#分词liebiao=jieba.lcut(txt)#统计counts={}forwordinliebiao:iflen(word)==1:continueelse:counts[word]=counts.get(word,0)+1items=list(counts.items())items.sort(key=lambdax:x[1],reverse=True)#打印显示foriinrange(15):word,count=items[i]print('{:<10}{:>5}'.format(word,count))3、参考答案及解析解析略4.实训心得体会实训任务:wordcloud词云的使用学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的了解jwordcloud词云的基本功能熟练掌握wordcloud词云的安装熟练掌握使用wordcloud词云按指定的图形,生成目标图片结果掌握wordcloud的常用参数的应用掌握使用wordcloud,生成英文词云掌握使用wordcloud,生成中文词云2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:生成英文词云1、任务内容编写程序,应用wordcloud生成巩词云。具体要求:对以下字符串“PythonJAVAC#C++ASP.NETPythonandWordCloudPython”生成一个词云,并保存为图片。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importmatplotlib.pyplotaspltimportwordcloudtxt="PythonJAVAC#C++ASP.NETPythonandWordCloudPython"w=wordcloud.WordCloud(background_color="white")#配置对象参数w.generate(txt)#加载词云文本w.to_file("Pywordcloud.png")#输出词云文件plt.imshow(w)plt.axis("off")plt.show()3、参考答案及解析解析略任务二:生成心形的英文词云1、任务内容编写程序,如下要求:应用wordcloud库对素材中的“phthon.txt”文件中的文本生成一个词云,并保存为图片。原始参照图形如图所示。要求关键代码做好注释,效果如下2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importwordcloud
fromimageioimportimread
#读取文本
file=open("Python.txt","r",encoding='utf-8')
txt=file.read()
#读取图片
maskImage=imread("love.png")#图片形状
w=wordcloud.WordCloud()
#配置参数,并生成词云
w=wordcloud.WordCloud(background_color="white",\
width=600,height=500,mask=maskImage)
w.generate(txt)#加载词云文本
w.to_file("Pywcloud.png")#输出词云文件
plt.imshow(w)
plt.axis("off")
plt.show()
#生成中文词云3、参考答案及解析解析略任务三:生成中文词云1、任务内容编写程序,对一个中文字符串进行文本解析。中文内容为“程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理”。以字体“msyh.ttc”生成长方形的词云,长是1000,高是700。进行分词和统计。在分词时需要使用liebiao=jieba.lcut(txt)进行分词。输出图片为computerlanguage.png要求关键代码做好注释2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importjiebaimportwordcloudtxt="程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理"w=wordcloud.WordCloud(width=1000,font_path="msyh.ttc",height=700)w.generate("".join(jieba.lcut(txt)))w.to_file("computerlanguage.png")print("词云生成成功.")3、参考答案及解析解析略4.实训心得体会实训任务:可视化中文词云项目学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的了解wordcloud词云的基本功能了解jeiba库的基本功能熟练掌握jeiba库和wordcloud生成指定形状的词云2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:生成英文词云1、任务内容编写程序,应用wordcloud生成词云。背景描述:扶贫是保障贫困户的合法权益,取消贫困负担。2020年11月23日,中国832个国家级贫困县全部脱贫摘帽。我国脱贫攻坚取得的成就,见证了“中国力量”。消除绝对贫困是一项对中华民族、对人类都具有重大意义的伟业!小刘在一间大数据技术应用与开发公司工作,是一名Python程序员。他的项目经理要求小刘对一篇关于中国的精准扶贫的文章进行中文分词,并对高频出现的一些词语自动生成一个词云图片。这个词云图将会应用于一个大数据可视化大屏展示系统中。要求如下:1)使用IO函数,对文本文件的读取。2)应用jieba进行中文分词。3)词频统计。4)对词频进行排序。5)对高频词进行输出显示,并对分词使用空格拼接成字符串。6)读取图片,以生成词云的形状。7)设置wordcloud的参数,自动生成词云图片并保存。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码#可视化中文词云项目importjiebaimportwordcloudfromimageioimportimread#01读取文件,并保存在mytxt中myfile=open("article.txt",mode="r",encoding='UTF-8')mytxt=myfile.read()myfile.close()#02使用jieba库,采用精确模式进行中文分词mywords=jieba.lcut(mytxt)#03词频计数wordsCounts={}foronewordinmywords:iflen(oneword)==1:continueelse:wordsCounts[oneword]=wordsCounts.get(oneword,0)+1exclude50words={"11","日期"}#需要排除的关键字,用于统计高频词foronewordinexclude50words:del(wordsCounts[oneword])#排除需要排除的关键字#04输出高频词和拼装字符串new50word=''#空义一个变量newAllword=''.join(mywords)#拼接字符串:全文的分词使用空格连接foriinrange(50):oneword,wordsCounts=items[i]new50word+=""+oneword#拼接字符串:只对前50个高频词使用空格连接print("{0:<10},{1:>5}".format(oneword,wordsCounts))#输入高频词#06读取图片maskImage=imread('sampleMask.jpg')#图片形状#07生成词云的系列操作excludewords={"11","日期","的","要","和","是"}#排除更多关键字,生成词云w=wordcloud.WordCloud()w=wordcloud.WordCloud(background_color="white",\width=600,height=500,font_path="msyh.ttc",\stopwords=excludewords,maskImage=maskImage)#配置词云调查参数w.generate(newAllword)#对全文的分词生成词云w.to_file("myAllWords.png")w.generate(new50word)#对50个高频词生成词云w.to_file("my50Words.png")#08告诉用户生成结果print("已经生成词云图片,打开项目文件夹根目录可以查看。")input()3、参考答案及解析解析略4.实训心得体会实训任务:用requests爬虫库抓取百度首页学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的了解requests爬虫库的基本功能掌握requests爬虫库的安装方法掌握requests爬虫库的基本功能熟练掌握requests爬虫库下载指定的网站或者网页2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:抓取百度首页1、任务内容编写程序,应用requests库的get()方法,实现抓取百度首页的信——并保存为newshtml.txt。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importrequests#使用requests的get()获取网页HTML代码,并编码r=requests.get('/')r.encoding='utf-8'#对中文进行utf-8编码,避免出现乱码#写入本地文件#保存文件,如果newshtml.txt文件已经存在,则会重写。#如果newshtml.txt文件不存在,则创建f=open('newshtml.txt',mode='w')f.writelines(r.text)#写入多行f.close()#关闭文件print('网页抓取结束,并写入文件newshtml.txt成功')3、参考答案及解析解析略4.实训心得体会实训任务:使用Beautifulsoup4解析百度网页学校名称:班级名称:学号/工号:学生姓名:实训日期:1.实训目的了解Beautifulsoup4库的基本功能掌握Beautifulsoup4库的安装方法掌握Beautifulsoup4库的基本功能熟练掌握Beautifulsoup4库解析指定的网页,并抽取需要的信息2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:使用beautifulsoup4进行百度网页解析1、任务内容编写程序,对一段百度新闻首页的源代码,通过beautifulsoup4解析,把一些信息提取出来。以下是源代码<htmlclass="expanded"><head><!--STATUSOK--><metahttp-equiv=Content-Typecontent="text/html;charset=utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=Edge,chrome=1"><metacharset="utf-8"/><title>百度新闻——海量中文资讯平台</title><metaname="description"content="百度新闻是包含海量资讯的新闻服务平台,真实反映每时每刻的新闻热点。您可以搜索新闻事件、热点话题、人物动态、产品资讯等,快速了解它们的最新进展。">提取网页标题、提取meta内容、提取指定属性获取内容要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码frombs4importBeautifulSoup#一段HTML代码baiduhtml=""""<htmlclass="expanded"><head><!--STATUSOK--><metahttp-equiv=Content-Typecontent="text/html;charset=utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=Edge,chrome=1"><metacharset="utf-8"/><title>百度新闻--海量中文资讯平台</title><metaname="description"content="百度新闻是包含海量资讯的新闻服务平台,真实反映每时每刻的新闻热点。您可以搜"""#创建BeautifulSoup对象soup=BeautifulSoup(baiduhtml,'lxml')#获取title的整个标签和它的文字内容print('01:',soup.title,soup.title.string)#获取指定标签,获取指定标签里面的内容print('02:',soup('title'),soup('title')[0].string)#获取指定标签也可以写成这样#获取meta标签的指定内容或者首次出现整个meta标签print('03:',soup.meta.get('content'))#获取指定标签的属性print('04:',soup.meta)#获取第一个标签(多个只取第一个)print('05:',soup.find('meta'))#获取第一个标签,结果和上面一样#获取指定属性的meta标签和它的属性内容print('06:',soup.find('meta',attrs={'name':'description'}))#获取第一个标签,根据属性过滤获取#通过get()可以指定属性获取内容print('07:',soup.find('meta',attrs={'name':'description'}).get('content'))3、参考答案及解析解析略任务二:使用beautifulsoup4的select()抓取百度的导航1、任务内容编写程序,有一段百度新闻首页的源代码,通过beautifulsoup4的select()方法把网站的导航URL和导航文字解析出来。以下是源代码<divid="channel-all"class="channel-allclearfix"><divclass="menu-list"><ulclass="clearfix"><liclass="navitem-indexcurrentactive"><ahref="/">首页</a></li><li><ahref="/guonei">国内</a></li><li><ahref="/guoji">国际</a></li><li><ahref="/mil">军事</a></li><li><ahref="/finance">财经</a></li><li><ahref="/ent">娱乐</a></li><li><ahref="/sports">体育</a></li><li><ahref="/internet">互联网</a></li><li><ahref="/tech">科技</a></li><li><ahref="/game">游戏</a></li><li><ahref="/lady">女人</a></li><li><ahref="/auto">汽车</a></li><li><ahref="/house">房产</a></li></ul></div><iclass="slogan"></i></div>在BeautifulSoup对象的.select()方法中传入字符串参数,即可使用CSS选择器的语法找到tag。可以参考以下CSS选择器的例子:soup.select('div')所有名为<div>的元素soup.select('#author')#带有id属性为author的元素soup.select('.notice')#所有使用CSSclass属性名为notice的元素soup.select('divspan')#所有在<div>元素之内的<span>元素soup.select('div>span')#所有直接在<div>元素之内的<span>元素,中间没有其他元素soup.select('input[name]')#所有名为<input>,并有一个name属性,其值无所谓的元素soup.select('input[type="button"]')#所有名为<input>,并有一个type属性,其值为button的元素要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码frombs4importBeautifulSouphtmlstr="""<divid="channel-all"class="channel-allclearfix"><divclass="menu-list"><ulclass="clearfix"><liclass="navitem-indexcurrentactive"><ahref="/">首页</a></li><li><ahref="/guonei">国内</a></li><li><ahref="/guoji">国际</a></li><li><ahref="/mil">军事</a></li><li><ahref="/finance">财经</a></li><li><ahref="/ent">娱乐</a></li><li><ahref="/sports">体育</a></li><li><ahref="/internet">互联网</a></li><li><ahref="/tech">科技</a></li><li><ahref="/game">游戏</a></li><li><ahref="/lady">女人</a></li><li><ahref="/auto">汽车</a></li><li><ahref="/house">房产</a></li></ul></div><iclass="slogan"></i></div>"""#创建BeautifulSoup对象soup=BeautifulSoup(htmlstr,'lxml')print('抓取导航,实现方法1')foriteminsoup,select('div#channel-alla'):print(item.get('href'),item.string)print('抓取导航,实现方法2')foriteminsoup.select('ul.clearfixa'):print(item.get('href'),item.string)3、参考答案及解析解析略4.实训心得体会实训任务:SQLite数据库的使用——创建数据库和数据表学校名称:班级名称:学号/工号:学生姓名:实训日期:1.实训目的了解SQLite数据库的基本功能掌握SQLite数据库的安装方法掌握SQLite数据库的基本功能熟练掌握SQLite数据库创建数据库和数据表的方法2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:使用sqlite3创建数据库和数据表1、任务内容编写程序,创建数据库名称为“Student.db”,存放路径为“D:\pythonBook\pythonProject10\SQLite3DB”。在数据库“Student.db”中创建数据表为“tbuser”数据表“tbuser”的表结构字段名称类型备注IdIntId号,主键,不为空UserCodeVARCHAR(20)用户帐号,不为空UserNameVARCHAR(20)用户姓名,不为空要求关键代码做好注释,使用sqlitestudio软件打开db数据库,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importsqlite3conn=sqlite3.connect(r'D:pythonBookpythonProject10\soLite3DBstudent.db')#创建数据库student.dbprint("数据库Student.db创建成功")c=conn.cursor()#cursor()使用该连接创建(并返回)一个游标对象c.execute('''CREATETABLEtbuser(IDINTPRIMARYKEYNOTNULL,UsercodeVARCHAR(20)NOTNULLUserNameVARCHAR(20)NOTNULL);''')#创建数据表tbuserprint("数据表tbuser创建成功")mit()#提交操作conn.close()#关闭Connection对象3、参考答案及解析解析略4.实训心得体会实训任务:SQLite数据库的使用——数据的增删改查操作学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的了解SQLite数据库的增加、查询、修改和删除的基本语法熟练掌握在SQLite数据库中对数据表的增加、查询、修改和删除的方法2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:使用sqlite3对数据进行增、删、改操作1、任务内容编写程序,创建数据库名称为“Student.db”,存放路径为“D:\pythonBook\pythonProject10\SQLite3DB”。在数据库“Student.db”中创建数据表为“tbuser”数据表“tbuser”的表结构字段名称类型备注IdIntId号,主键,不为空UserCodeVARCHAR(20)用户帐号,不为空UserNameVARCHAR(20)用户姓名,不为空测试数据IDuserCodeuserNameIDuserCodeuserName110001刘小红610006金奇210002王小林710007周泽310003朱梦810008朱秀娟410004金烨伟910009姜子文510005王婷1010010秦家兴在数据库中进行数据的增加、删除和修改操作,它的一般步骤如下:建立数据库的连接。创建游标对象。根据SQL的Insert,Delete和Update语句,使用Connection.execute(sql)执行数据的增加、删除和修改操作,并根据返回的值判断操作结果。提交操作。关闭数据库连接对象。对上面的测试数据进行以下操作:删除全部数据。插入一行数据。插入多行数据,直至把全部数据插入到数据表中。使用executemany()可以把多条数据批量插入,批量的数据源可以来自列表。修改一行数据。要求关键代码做好注释,使用软件sqlitestudio查看数据,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importsqlite3conn=sqlite3.connect(r'D:pythonBookpythonProject10\sqLite3DB\student.db')#连接数据库cur=conn.cursor()#创建游标对象#删除全部数据sqltxt0="deletefromtbuser"cur.execute(sqltxt0)print("成功删除全部数据")#插入一行数据(第1种方法)sqltxt1="insertintotbuser(id,Usercode,UserName)values(1,'10001','刘小红')"cur.execute(sqltxt1)print("成功插入一行数据(第1种方法)")#插入一行数据(第2种方法)sqltxt2="insertintotbuser(id,Usercode,UserName)values(?.?.?)"cur.execute(sqltxt2,(2,'10002''王小林'))print("成功插入一行数据(第2种方法)")#插入多行数据(第1种方法)sqltxt3="insertintotbuser(id,UserCode,UserName)values"\(3,'10003''朱梦'),(4,'10004''金烨伟'),(5,'10005''王婷'),(6,'10006''金奇')"cur.execute(sqltxt3)print("成功插入多行数据(第1种方法)")#插入多行数据(第2种方法)userList=[(7,'10007''周泽')(8,'10008''朱秀娟')(9,'10009''姜子文')(10,'10010''秦家兴')]sqltxt3="insertintotbuser(idUsercode,UserName)values(?,??)"cur.executemany(sqltxt3,userList)print("成功插入多行数据(第2种方法)")#修改一行数据sqltxt4="updatetbusersetUserName='刘丽红'whereid=1"cur.execute(sqltxt4)print("成功修改一行数据")#劂除一行数据sqltxt5="deletefromtbuserwhereid=2"cur.execute(sqltxt5)print("成功删除一行数据")mit()#提交操作conn.close()#关闭Connection对象3、参考答案及解析解析略任务二:使用sqlite3对数据进行查询操作1、任务内容编写程序,按着上一题的要求,对数据表“tbuser”进行查询操作对上面的测试数据进行以下操作:查询全部数据。查询ID=10的数据。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importsqlite3#连接数据库conn=sqlite3.connect(r'D:\pythonBook\pythonProject10\sQLite3DB\student.db')cur=conn.cursor()#创建游标对象#查询全部数据sqltxt0="select*fromtbuser"cur.execute(sqltxt0)print("成功查询全部数据")foroneincur:print('ID:',one[0])print('usercode:',one[1])print('UserName:',one[2])#查询某个条件的数据sqltxt0="select*fromtbuserwhereid=10"cur.execute(sqltxt0)print("成功査询id=10的数据")foroneincur:print(one)conn.close()#关闭Connection对象3、参考答案及解析解析略4.实训心得体会实训任务:Python对Access数据库的访问学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的了解Python对Access数据库的访问的基本语法基本掌握ACCESS数据库的创新、打开和查看操作熟练掌握Python对Access数据库的访问的方法熟练掌握使用pyodbc.drivers()查询本机支持的ODBC驱动程序的方法掌握安装pyodbc库的方法2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:查询本机支持的ODBC驱动程序1、任务内容安装pyodbc库引入pyodbc库后,使用pyodbc.drivers()查询到当前电脑支持的ODBC驱动程序要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importpyodbc#引入pyodbc库#把支持的驱动程序保存在变量txt中txt=pyodbc.drivers()#把变量txt转换为列表driversList=list(txt)#遍历列表,打印出每一个驱动程序foritemindriversList:print(item)3、参考答案及解析安装pyodbc,直接使用pip可以安装,代码如下:pipinstallpyodbc解析略任务二:Access数据库的访问1、任务内容编写程序实现以下操作:现有一个ACCESS数据库名称为“student.mdb”,它里面有一个样表“tbuser”,如图所示。要求使用Python读取表“tbuser”的数据。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importpyodbcimportosDBfile=os.path.dirname(os.path.realpath(__file__))+"/student.mdb"#ACCESS数据库文件路径print(DBfile)#输出数据库的路径#连接数据库(不需要配置数据源),connect()函数创建并返回一个Connection对象connectstring=r"DRIVER={MicrosoftAccessDriver(*,mdb,*.accdb)};DBg="+DBfile+".Uid=;Pwd=;"conn=pyodbc.connect(connectstring)#cursor()使用该连接创建(并返回)一个游标或类游标的对象cursor=conn.cursor()#定义一个SQL查询语句,查询表tbuser的中全部数据SOL="SELECT*fromtbuser;"#使用循坏,读取表userforrowincursor.execute(SQL):print(row)cursor.close()#关闭游标conn.close()#关闭数据库连接3、参考答案及解析解析略4.实训心得体会实训任务:Python对Excel数据表的访问学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的了解Python对Excel数据表的访问的基本语法基本掌握Excel数据表的创建、打开和查看操作熟练掌握Python对Excel数据表的访问的方法2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:Excel数据表的访问1、任务内容编写程序实现以下操作:现有一个Excel数据表名称为“student.xls”,它里面有一个样表“tbuser”,如图所示。要求使用Python读取表“tbuser”的数据。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importpyodbcimportos#student.xls文件路径信息DBfile=os.path.dirname(os.path.realpath(__file__))+"/student.xls"print(DBfile)#输出数据库的路径#r表示非转义的原始字符串connStr=r'DRIVER=iMicrosoftExcelDriver(*,xls,*.xlsx,*.xlsm,*,xlsb)}:DB0=%s''%DBfil#创建连接connconn=pyodbc.connect(connStr,autocommit=True)#创建游标对象cursor=conn.cursor()#注意EXCEL中字段名和表名的写法sql='select*from[tbuser$]'#执行sqlreadExcelDataSet=cursor.execute(sql)#用for循环遍历forrowinreadExcelDataSet:print(row)3、参考答案及解析解析略4.实训心得体会实训任务:Python对SQLServer数据库的访问学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的了解Python对SQLServer数据库的访问的基本语法基本掌握SQLServer数据库和数据表的创建、打开和查看操作熟练掌握Python对SQLServer数据库的访问的方法2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:SQLServer数据库的访问1、任务内容编写程序实现以下操作:现有一个SQLServer数据库名称为“student”,它里面有一个样表“tbuser”,如图所示。要求使用Python读取表“tbuser”的数据。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importpyodbc#连接数据库(不需要配置数据源),connect()的数创建并返回一个Connection对象connectstring=r"DRIVER={oDBcDriver17forsoLserver};"r"SERVER=localhost:DATABASE=Student;uID=python;PwD=python123"conn=pyodbc.connect(connectstring)print(connectstring)#设貿編码格式conn.setencoding(encoding='utf-8')#cursor()使用该连接创建(并返回)一个游标或类游标的对象cursor=conn.cursor()#定义一个SQL查询语句,查询表user的中全部数据cursor.execute('select*fromtbuser')rows=cursor.fetchall()#使用循环,读取表userforrowinrows:print(row)#关闭游标cursor.close()conn.close()#关闭数据库连接3、参考答案及解析解析略4.实训心得体会实训任务:新闻网页爬虫项目学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的了解Python对SQLServer数据库的访问的基本语法基本掌握SQLite创建数据库和数据表的方法熟练掌握使用requests库抓取网页的方法熟练掌握使用Beautifulsoup4解析网页的方法熟练掌握使用Beautifulsoup4提取有用的信息的方法熟练掌握编写自定义函数和调用函数的方法基本掌握编写测试代码,验证测试数据表是否已经正确保存抓取的网页数据2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:新闻网页爬虫项目1、任务内容编写程序实现以下操作。背景如下:在十九届中共中央政治局第二次集体学习时,习总书记的重要讲话中指出“大数据是信息化发展的新阶段”。大数据与网络爬虫技术密不可分。网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫系统正是通过网页中的超链接信息不断获得网络上的其他网页的。百度新闻()由百度爬虫机器人选取每5分钟自动更新,它的搜索源于互联网新闻网站和频道,系统自动分类排序。某公司做一个新闻采集项目时,希望研究百度新闻中的新闻信息,用Python写一个网页爬虫把百度新闻的新闻抓取下来,并存入数据库中,以作实验学习用。它的主要实施步骤,参考如下:1)分析网页HTML代码,选择抓取的入口。2)创建数据库和数据表。3)编写爬虫解析函数和数据保存函数等自定义函数,以供程序调用。4)编写程序入口,调用自定义函数进行网页的抓取。5)编写测试代码,测试数据表是否已经正确保存抓取的网页数据。设计数据库和数据表设计数据库名称为web.db,创建一个数据表为tbnews。数据表结构如下表。其中对新闻标题生成MD5值,用于辅助去重。tbnews数据表的表结构序号字段类型要求中文含义1IDINTEGER主键,自增值。ID号2newsTitleVarchar(100)新闻标题3newsURLVarchar(100)新闻URL4logDatetimedatetime默认为服务器时间。抓取时间5newsURLMd5Varchar(32)新闻URL的MD56newsTypeVarchar(20)新闻分类要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importsqlite3
#创建数据库和数据表
#conn=sqlite3.connect(r'D:\pythonBook\pythonProject12\project12-2\web.db')#创建数据库Student.db
conn=sqlite3.connect(r'web.db')#创建数据库Student.db
print("数据库student.db创建成功")
c=conn.cursor()#cursor()使用该连接创建(并返回)一个游标对象
c.execute('''
CREATETABLEtbnews
(IDINTEGERPRIMARYKEYNOTNULL,
newsTitleVARCHAR(200)NOTNULL.
newsURLVARCHAR(200)NOTNULL.
logDatetimedatetimedefault(datetime('now',"localtime'))NOTNULL
newsURLMd5VARCHAR(32)NOTNULL.
newTypeVARCHAR(20)NOTNULL
);''')#创建数据表tbnews
print("数据表tbnews创建成功")
mit()#提交操作
conn.close()#关闭Connection对象3、参考答案及解析第一步:在PyCharm软件中新建Python文件“CreateDatabase.py”,输入以下代码并运行它,即可以完成数据表的创建。第二步:编写爬虫解析函数。在PyCharm软件中新建Python文件“baiduNews.py”第三步:为了验证数据表是否已经成功保存抓取的网页数据,新建一个文件checkTable.py,并编写查询数据表的代码以验证。解析略4.实训心得体会实训任务:使用matplotlib库生成图表学校名称:班级名称:学号/工号:学生姓名:实训日期:1.实训目的了解matplotlib库的访问的基本语法基本掌握matplotlib库创建柱形图和饼图、3D图和条形图的方法2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:使用matplotlib生成柱形图1、任务内容编写程序实现以下操作:使用matplotlib生成柱形图,数据可以自定义。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码frommatplotlibimportpyplotasplt
#支持中文
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicodeminus']=False#用来正常显示负号
x=['小王''小陈''小张''小军''小牛''小红']#X轴的值
y=[92,86,66,76,80,50]#Y轴的值,数量与X轴的数量一致
plt.bar(x,y,align='center')#bar表示柱形图
plt.title('学生成绩统计图')#图表标题
plt.ylabel('Y轴')#Y轴
plt.xlabel('X轴')#X轴
plt.show()3、参考答案及解析解析略任务二:使用matplotlib生成饼图1、任务内容编写程序实现以下操作:使用matplotlib生成饼图,数据可以自定义。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importmatplotlib.pyplotasplt
#Piechart,wherethesliceswillbeorderedandplottedcounter-clockwise:
labels='Frogs',"Hogs','Dogs','Logs'"
sizes=[15,30,45,10]
explode=(0,0.1,0,0)#only")explode"the2ndslice(i.e.'Hogs')
fig1,ax1=plt.subplots()
ax1.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',
shadow=True,startangle=90)
ax1.axis('equal')#Equalaspectratioensuresthatpieisdrawnasacircle.
plt.show()3、参考答案及解析解析略任务三:使用matplotlib生成组合柱形图1、任务内容编写程序实现以下操作:使用matplotlib生成组合柱形图,数据可以自定义。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importnumpyasnp
importmatplotlib.pyplotasplt
men_means,men_std=(20,35,30,35,27),(2,3,4,1,2)
women_means,women_std=(25,32,34,20,25),(3,5,2,3,3)
ind=np.arange(len(men_means))#thexlocationsforthegroups
width=0.35#thewidthofthebars
fig,ax=plt.subplots()
rects1=ax.bar(ind-width/2,men_means,width,yerr=men_std,
color='SkyBlue',label='Men')
rects2=ax.bar(ind+width/2,women_means,width,yerr=women_std,
color='IndianRed',label='Women')
#Addsometextforlabels,titleandcustomx-axisticklabels,etc.
ax.set_ylabel('Scores')
ax.set_title('Scoresbygroupandgender')
ax.setxticks(ind)
ax.set_xticklabels(('G1','G2','G3','G4','G5'))
ax.legend()
defautolabel(rects,xpos='center'):
"""
Attachatextlabelaboveeachbarin*rects*,displayingitsheight.
*xpos*indicateswhichsidetoplacethetextw.r.t.thecenterof
thebar.Itcanbeoneofthefollowing{'center','right','left'}
"""
xpos=xpos.lower()#normalizethecaseoftheparameter
ha={'center':'center','right':'left','left':'right'}
offset={'center':0.5,'right':0.57,'left':0.43}#x_txt=x+w*off
forrectinrects:
height=rect.getheight()
ax.text(rect.get_x()+rect.get_width()*offset[xpos],1.01*height
'{}'.format(height),ha=ha[xpos],va='bottom')
autolabel(rects1,"left")
autolabel(rects2,"right")
plt.show()3、参考答案及解析解析略任务四:使用matplotlib生成三维曲面图1、任务内容编写程序实现以下操作:使用matplotlib生成三维曲面图,数据可以自定义。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码frommpl_toolkits.mplot3dimportAxes3D#noqa:F401unusedimport
importmatplotlib.pyplotasplt
frommatplotlibimportcm
frommatplotlib.tickerimportLinearLocator,FormatStrFormatter
importnumpyasnp
fig=plt.figure()
ax=fig.gca(projection='3d')
#Makedata.
X=np.arange(-5,5,0.25)
Y=np.arange(-5,5,0.25)
X,Y=np.meshgrid(X,Y)
R=np.sqrt(X**2+Y**2)
Z=np.sin(R)
#Plotthesurface.
surf=ax.plot_surface(X,Y,2,cmap=cm.coolwarm,
linewidth=0,antialiased=False)
#Customizethezaxis
ax.set_zlim(-1.01,1.01)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
#Addacolorbarwhichmapsvalvestocolors.
fig.colorbar(surf,shrink=0.5,aspect=5)
plt.show()3、参考答案及解析解析略4.实训心得体会实训任务:使用MyQR生成二维码学校名称:班级名称:学号/工号:学生姓名:实训日期:1.实训目的了解MyQR库的访问的基本语法基本掌握MyQR库创建普通二维码和带图片的二维码、带GIF动图二维码的方法2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:使用MyQR库创建普通二维码1、任务内容编写程序实现以下操作:普通二维码,数据内容可以自定义。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码fromMyQRimportmyqr#导入库
myqr.run(
words='/',#二维码的内容
colorized=True#是否有颜色,如果为False则为黑自
save_name='code.png'#输出文件名
)
print('二维码已经生成。请打开文件夹查看。")3、参考答案及解析解析略任务二:使用MyQR库创建带背景图的二维码1、任务内容编写程序实现以下操作:创建一个带有背景图的二维码,数据内容可以自定义。以下是参考背景。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码#导入库fromMyORimportmyqr
myqr.run(
words='/',#二维码的内容
picture=r'logo.jpg',#logo图片,也可以其官图片
colorized=True,#是否有颜色,如果为False则为黑自
save_name='code_logo.png'#输出文件名
)
print('二维码已经生成。请打开文件夹查看。')3、参考答案及解析解析略任务三:使用MyQR库创建带gif动图的二维码1、任务内容编写程序实现以下操作:创建一个带有背景图的二维码,数据内容可以自定义。以下是参考GIF图。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码fromMyQRimportmyqr#导入库
myqr.run(
words='/',#二维码的内容
picture=r'katong.gif',#qif图片,也可以其它官图片
colorized=True,#是否有颜色,如果为False则为黑
save_name='code_katong.gif'#输出文件名
)
print('二维码已经生成。请打开文件夹查看。')3、参考答案及解析解析略任务四:使用matplotlib生成三维曲面图1、任务内容编写程序实现以下操作:使用matplotlib生成三维曲面图,数据可以自定义。要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码
frommpl_toolkits.mplot3dimportAxes3D#noqa:F401unusedimport
importmatplotlib.pyplotasplt
frommatplotlibimportcm
frommatplotlib.tickerimportLinearLocator,FormatStrFormatter
importnumpyasnp
fig=plt.figure()
ax=fig.gca(projection='3d')
#Makedata.
X=np.arange(-5,5,0.25)
Y=np.arange(-5,5,0.25)
X,Y=np.meshgrid(X,Y)
R=np.sqrt(X**2+Y**2)
Z=np.sin(R)
#Plotthesurface.
surf=ax.plot_surface(X,Y,2,cmap=cm.coolwarm,
linewidth=0,antialiased=False)
#Customizethezaxis
ax.set_zlim(-1.01,1.01)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
#Addacolorbarwhichmapsvalvestocolors.
fig.colorbar(surf,shrink=0.5,aspect=5)
plt.show()3、参考答案及解析解析略4.实训心得体会实训任务:商品统计图和二维码项目学校名称:班级名称:学号/工号:学生姓名:实训日期:1.实训目的基本掌握matplotlib库的基本语法,会生成统计图基本掌握MyQR库创建普通二维码和带图片的二维码、带GIF动图二维码的方法能综合使用matplotlib库和MyQR库进行项目的开发2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:商品统计图和二维码项目1、任务内容背景如下某商家开发了在线网上商城平台,为了配合网上电子商务业务的开展,需要对大量的商品实时地自动地和批量地生成二维码图,以支持线上和线下的营销活动;并要求对商品的统计数据自动生成统计图,以可视化的视角为商家提供数据参考。主要步骤如下本项目可以用Python语言的matplotlib库实时自动生成统计图,采用MyQR库自动生成商品的二维码图片。它的主要实施步骤为:1)从数据库中获取商品数据的信息。2)对商品的信息生成二维码图并保存在硬盘中。3)对商品的统计数据实时生成统计图。4)验证程序结果。数据表结构如下以下是待导入的数据以下是导入后的数据效果要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码#1)从数据库中获取商品数据的信息。
#2)对商品的信息生成二维码图并保存在硬盘中。
#3)对商品的统计数据实时生成统计图。
importsqlite3
importos
frommatplotlibimportpyplotasplt
fromMyQRimportmyqr
conn=sqlite3.connect(r'webshop.db'#连接数据库
cur=conn.cursor()#创建游标对象
#查询全部数据
sqltxt1=("select*fromproductsorderbyiddesc"
cur.execute(sqltxt1))
#对商品的信息生成二维码图并保存在硬盘中
print("成功查询10条数据")
foroneincur:
#print(one)可以打印当前的一条数据
#如果文件夹不存在,则创建文件夹
dirpicture=os.getcwd()+"lpicture'
isExists=os.path.exists(dirpicture)
ifnotisExists:
os.makedirs(dirpicture)
#生成二维码,并指定保存路径
myqr.run(
words=one[6],#二维码的内容,以产品的URL为内容
colorized=True,#是否有颜色,如果为False则为黑白
save_name=one[1]+'.png',#输出文件名,以产品代码为名
save_dir=dirpicture#输出路径
)
#对商品的统计数据实时生成统计图
sqltxt2="selectstrftime('%Y'logDate)asyear,strftime('%m',logDate)asmonth,sum(productMoney)"\
"fromproductswherestrftime('%Y',logDate)isnotnull"\
"groupbystrftime('%Y',logDate),strftime('%m',logDate)"
cur.execute(sqltxt2)
#构造X轴和Y轴的数组
x_list=[]
y_list=[]
foritemincur:
x_list.append(item[0]+'-'+item[1])
y_list.append(item[2])
#print(x_list)
#print(y_list)
#生成统计图并支持中文
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False#用来正常显示负号
plt.bar(x_list,y_list,align='center')#bar表示柱形图
plt.title('商口月份销售统计图')#图表标题
plt.ylabel('销售金额')#Y轴
plt.xlabel('销售月份')#X轴
plt.show()
conn.close()#关闭Connection对象3、参考答案及解析解析略4.实训心得体会实训任务:定位图片中所有人脸,并自动生成人脸图片保存在本地学校名称:班级名称:学号/工号:学生姓名:实训日期:
1.实训目的基本掌握face_locations库的基本语法基本掌握PIL库对图片的操作能综合运用OS库对文件夹进行操作能综合使用face_locations库、PIL库和OS库进行定位图片中所有人脸,并自动生成人脸图片保存在本地2.实训环境普通电脑,并安装以下软件:Windows7(或者以上版本)操作系统PyCharm软件Python3.8以上版本3.实训内容任务一:定位图片中所有人脸,并自动生成人脸图片保存在本地.1、任务内容背景如下给出学生图片student.jpg,自动识别出图片中的人脸。原图效果如图9-14所示。说明:出于印刷和版权的考虑,素材中的人像图片都后期加了马赛克,原图并没有马赛克。主要步骤如下第1步:人脸定位第2步:判断文件夹是否存在,不存在则创建文件夹第3步:遍历,自动截取的人脸图并保存要求关键代码做好注释,效果如下图所示2、任务提交要求提交任务运行的截图,放在下面提交任务的代码importface_recognition
fromPILimportImage
importos
#第1步:人脸定位
print('正在识别中...')
image=face_recognition.load_image_file("student.jpg",mode='RGB')#加载图片文件
#face_locations:以列表形式返回图片中的所有人脸的位置数组(top,right,bottom,left)
face_locations=face_recognition.face_locations(image,model="cnn")#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粉尘防爆知识竞赛题库及参考答案
- 2026年中医体质辨识健康干预理论考核测试题及答案
- 2026年中医耳鼻喉科肝火郁结梅核气健康宣教试题及答案
- 2026年职业学校实训管理试卷(带答案)
- 电力电缆线路安装、运行及维护培训课件
- 重机厂房施工安全技术措施培训
- 刮板机安全技术操作规程培训
- 2025-2026学年四川绵市东辰学校高二上学期开学分班检测物理试卷含答案
- (2026年)医院医疗纠纷管理制度
- 导流洞项目部土建工程质量与职业健康安全预防措施培训
- 房产继承分配协议书5篇
- 2026年天津市辅警招聘考试试题带答案(精练)
- 2026年医师定期考核中医综合题库(完整版)附答案
- 人防工程机电设备安装施工技术方案
- 2026秋人教版小学数学三年级上册(新教材)教学计划附教学进度表
- 2025年10月自考15044《马克思主义基本原理概论》参考真题及答案
- 2025年广西桂林学院招聘笔试真题
- 2026农机行业市场深度研究及行业竞争与技术创新发展趋势报告
- 风力发电工程验收规程
- 2026年成人高考专升本《政治》真题(含答案)
- 侵害未成年案件强制报告制度培训课件
评论
0/150
提交评论