基于Python第三方插件实现西游记章节标注汉语拼音的方法_python

来源:脚本之家  责任编辑:小易  

MySQLdbMySQLdb是 Python 连接 MySQL 最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,它是基于C开发的库,和Windows 平台的兼容性不友好,现在基本不推荐使用,取代的是它的衍生版本。mysqlclient由于 MySQLdb 年久失修,后来出现了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同时支持 Python3.x,是 Django ORM的依赖工具,如果你想使用原生 SQL 来操作数据库,那么推荐此驱动。PyMySQLPyMySQL是纯 Python 实现的驱动,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQLdb。SQLAlchemySQLAlchemy是一种既支持原生 SQL,又支持 ORM 的工具,它非常接近 Java 中的 Hibernate 框架。有关Python访问MySQL数据库全部内容的学习,我都是通过黑马程序员的视频学的。看完之后立马决定去培训了。你可以搜搜,都是免费资源。黑马视频库里面搜索一下,找不到的话官网弹出来的对话框问一下就不会迷路了www.zgxue.com防采集请勿采集本网。

      起因很单纯,就是给我1年级小豆包的女儿标注三国和西游章节的汉语拼音,我女儿每天都朗读 ,结果有很多字不认识,我爱人居然让我给标记不认识的完了手动注音......我勒个去......身为程序员的我怎么能忘记用程序实现呢,特别是咱也会点Python万能语言。哈哈!列举一下使用的技术。

这个网站左上角有documentation链接的,点进去看看。像exe,msi如果别人已经编译过了就看不到源码了,说明作者并不希望你看到源码。第三方库开源软件比较多,有网页论坛可以找,所以直接进模块

语言:Python3.7

从入门级选手到专业级选手都在做的—爬虫 用 Python 写爬虫的教程网上一抓一大把,据包括 scipy、numpy 等用于科学计算的第三方库的出现,更是方便了又一定数学基础,但是计算机基础一般的朋友。

插件:pypinyin0.37.0  和 openpyxl 3.0.3

而且网络上还可以获得很多使用Python 进行Internet 编程的第三方工具此外,Python 涌现了许多Web 开发工具包,例如,Django、TurboGears、Pylons、Zope 和WebWare,使Python 能够快速构建功能完善和高质量

开发工具:pycharm 社区版

如何用Python实现与知乎相关的某些小脚本+某些福利的获取 首先不问是不是,而直接问为什么,都是不负责任的论调。C++的第三方库和Python的第三方库几乎一样多,主要原因是基于C++的应用场景和C++的C语言

使用openpyxl操作execl的教程多的你无法想。

不是人工智能用python 是关于数据、计算、统计这类的实现大多使用python,人工智能属于其中一个分支。这是因为python代码简洁,使用效率高,又有很多成熟的第三方库,大大减轻了做数据科学的劳动

使用pypinyin将汉字转换成汉语拼音很简单,网络上API一大推。而且简单的不能再简单了,就一句话就实现了。分享点代码:

# 带声调的(默认)def yinjie(word): sentens = "".join(word.split()) print(sentens) s = '' # heteronym=True开启多音字 for i in pypinyin.pinyin(word, heteronym=False): s = s + ''.join(i) + " " return s

这个就足够汉字转拼音了,不过我要求数据结构就没使用这个方法。我把数据结构说一下。

三层二维数组(这个非常关键):

第一层:单个汉字和汉语拼音构成。

['dì', '第'], ['yī', '一'], ['bǎi', '百'], ['huí', '回']

第二层:按照标题空格分词。

 [['dì', '第'], ['yī', '一'], ['bǎi', '百'], ['huí', '回']], [['jìng', '径'], ['huí', '回'], ['dōng', '东'], ['tǔ', '土']], [['wǔ', '五'], ['shèng', '圣'], ['chéng', '成'], ['zhēn', '真']]

第三层:所有标题的集合。

就是第二层的合计,西游记就是100个章节标题集合。

最开始的成果物。这个不好对应也很难阅读。

我爱人给了我一个参考事例。如下图:

咱也不能示弱,咱也是程序员。咱也会万能的Python。

最开始的目标是将文字写入到word中,所以就用了Python-docx。汉语拼音长短不一这个很难对齐。想计算汉语拼音的长度进而计算汉字的位置......这个算法得多复杂,一个排版算法...我不是大神......

这个玩意其实和数学应用题一样,想到了其实一点也不难,就是弄个表格完了让汉语拼音和汉字居中不就得了。想到这个以后其实一点都不难了。使用Python-docx搞了好久有个问题就是竖版的word放不下汉字和汉语拼音。头疼啊。效果如下图:

唉!难道是思路不对。。。

不用Python-docx了。使用openpyxl来操作execl。第一次成果物。看起来还可以。

最终的成果物。

转成PDF的成果物:

继续鼓捣,最终搞定。。。一共花费了近6个小时,时间有点多。其实主要是数据结构和排版耽误时间,在有就是语法,作为Net出身而后转Java的人来说这个…&...就是并且的意思。然而在Python里面他不就是并且是and啊啊啊啊啊!因为这个我改了N多代码调试了好几次,唉深度无语。真是基础不牢地动山摇啊。别废话了上代码:

import pypinyinfrom openpyxl import Workbookfrom openpyxl.drawing.text import Fontfrom openpyxl.styles import Font, colors, Alignmentfrom pulgin.Tools import Toolsclass HanZhiAddPinYin: def __init__(self): pass def signWord(self,word): pinyicontent = pypinyin.pinyin(word, heteronym=False) word_pinyin = [pinyicontent[0][0], word] return word_pinyin def sentences(self,keyWords): listsentense = [] for duanyu in keyWords.split(): print(duanyu) duanyu_list = [] for word in duanyu: duanyu_list.append(self.signWord(word)) listsentense.append(duanyu_list) print( listsentense ) return listsentense def articles(self,txt_file_path): article = [] encoding = Tools.get_file_encoding(txt_file_path) f = open(txt_file_path, "r", encoding=encoding, errors='ignore') # 返回一个文件对象 line = f.readline().strip() # 调用文件的 readline()方法 index = 1 while line: article.append(self.sentences(line)) line = f.readline() index = index + 1 f.close() return article def builder_execl(self,word_title, save_path, article): """ 构建execl文件 :param word_title: sheet页面的名词 :param save_path: execl保存路径 :param article: 文章内容集合 :return: """ wb = Workbook() ws = wb.active ws.title = word_title ws.sheet_properties.tabColor = "1072BA" # 设置背景 xl_sheet = wb.get_sheet_by_name(word_title) execl_cell_width = 4.6 for sentences in article: column_index = 1 # sentences 2行数据 # 获取行数 pinyin_row = xl_sheet.max_row + 1 # 拼音所在的行 hanzi_row = pinyin_row + 1 # 汉字所在的行 sentences_index = 0 for duanyu in sentences: # ['dì', '第'], ['yī', '一'], ['huí', '回'] for sign_word in duanyu: # ['dì', '第'] # region 设置样式 # 设置样式 execl_cell_font = Font(name='华文楷体', size=12, italic=False, color=colors.BLACK, bold=True) execl_pinyin_row = xl_sheet.cell(row=pinyin_row, column=column_index) execl_hanzi_row = xl_sheet.cell(row=hanzi_row, column=column_index) execl_pinyin_row.alignment = Alignment(horizontal='center', vertical='center') execl_hanzi_row.alignment = Alignment(horizontal='center', vertical='center') execl_pinyin_row.font = execl_cell_font execl_hanzi_row.font = execl_cell_font xl_sheet.column_dimensions['A'].width = 3 xl_sheet.column_dimensions['B'].width = 3 xl_sheet.column_dimensions['C'].width = 3 xl_sheet.column_dimensions['D'].width = execl_cell_width xl_sheet.column_dimensions['E'].width = execl_cell_width xl_sheet.column_dimensions['F'].width = execl_cell_width xl_sheet.column_dimensions['H'].width = execl_cell_width xl_sheet.column_dimensions['I'].width = execl_cell_width xl_sheet.column_dimensions['G'].width = execl_cell_width xl_sheet.column_dimensions['J'].width = execl_cell_width xl_sheet.column_dimensions['K'].width = execl_cell_width xl_sheet.column_dimensions['L'].width = execl_cell_width xl_sheet.column_dimensions['M'].width = execl_cell_width xl_sheet.column_dimensions['N'].width = execl_cell_width xl_sheet.column_dimensions['O'].width = execl_cell_width xl_sheet.column_dimensions['P'].width = execl_cell_width xl_sheet.column_dimensions['Q'].width = execl_cell_width xl_sheet.column_dimensions['R'].width = execl_cell_width xl_sheet.column_dimensions['S'].width = execl_cell_width xl_sheet.column_dimensions['T'].width = execl_cell_width xl_sheet.column_dimensions['U'].width = execl_cell_width xl_sheet.column_dimensions['V'].width = execl_cell_width xl_sheet.column_dimensions['W'].width = execl_cell_width # endregion xl_sheet.cell(row=pinyin_row, column=column_index, value=sign_word[0]) xl_sheet.cell(row=hanzi_row, column=column_index, value=sign_word[1]) # 0 第一百回 1 径回东土 2 五圣成真 # print(sentences_index) # print(len(duanyu) + len(sentences[0])) # print(column_index) if sentences_index == 1 and len(duanyu) + len(sentences[0]) == column_index:#坑人的and xl_sheet.cell(row=pinyin_row, column=column_index + 1, value=",") xl_sheet.cell(row=hanzi_row, column=column_index + 1, value=",") column_index = column_index + 1 # 遇到断句多增加一列向后 column_index = column_index + 1 # 列向后 sentences_index = sentences_index + 1 # 三个短语计数器 wb.save(save_path)

总结

到此这篇关于基于Python第三方插件实现西游记章节标注汉语拼音的方法的文章就介绍到这了,更多相关python第三方插件标拼音内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

标准库Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库的主要功能有:1.文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据处理等功能2.文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能3.操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、日志(logging)等功能4.网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能5.网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架6.W3C格式支持,包含HTML,SGML,XML的处理。7.其它功能,包括国际化支持、数学运算、HASH、Tkinter等Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖科学计算、Web开发、数据库接口、图形系统多个领域。第三方模块可以使用Python或者C语言编写。SWIG,SIP常用于将C语言编写的程序库转化为Python模块。Boost C++ Libraries包含了一组函式库,Boost.Python,使得以Python或C++编写的程式能互相调用。Python常被用做其他语言与工具之间的“胶水”语言。著名第三方库1.Web框架Django:开源Web开发框架,它鼓励快速开发,并遵循MVC设计,开发周期短。ActiveGrid:企业级的Web2.0解决方案。Karrigell:简单的Web框架,自身包含了Web服务,py脚本引擎和纯python的数据库PyDBLite。Tornado:一个轻量级的Web框架,内置非阻塞式服务器,而且速度相当快webpy:一个小巧灵活的Web框架,虽然简单但是功能强大。CherryPy:基于Python的Web应用程序开发框架。Pylons:基于Python的一个极其高效和可靠的Web开发框架。Zope:开源的Web应用服务器。TurboGears:基于Python的MVC风格的Web应用程序框架。Twisted:流行的网络编程库,大型Web框架。Quixote:Web开发框架。2.科学计算Matplotlib:用Python实现的类matlab的第三方库,用以绘制一些高质量的数学二维图形。SciPy:基于Python的matlab实现,旨在实现matlab的所有功能。NumPy:基于Python的科学计算第三方库,提供了矩阵,线性代数,傅立叶变换等等的解决方案。3.GUIPyGtk:基于Python的GUI程序开发GTK+库。PyQt:用于Python的QT开发库。WxPython:Python下的GUI编程框架,与MFC的架构相似。4.其它BeautifulSoup:基于Python的HTML/XML解析器,简单易用。PIL:基于Python的图像处理库,功能强大,对图形文件的格式支持广泛。PyGame:基于Python的多媒体开发和游戏软件开发模块。Py2exe:将python脚本转换为windows上可以独立运行的可执行程序。参考自维基百科内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • python模块汇总(常用第三方库)
  • python实现关闭第三方窗口的方法
  • python第三方库face_recognition在windows上的安装过程
  • python使用到第三方库pymupdf图片与pdf相互转换
  • 利用python实现汉字转拼音的2种方法
  • python获取一组汉字拼音首字母的方法
  • python实现将汉字转换成汉语拼音的库
  • python 返回汉字的汉语拼音
  • python web flask 视图内容和模板实现代码
  • python从网络读取图片并直接进行处理的方法
  • tensorflow打印输出tensor的值
  • python中for循环详解
  • python+pandas分析nginx日志的实例
  • 如何使用python 打印各种三角形
  • python itsdangerous模块的具体使用方法
  • python内建数据结构详解
  • 快速了解python中的装饰器
  • python通过for循环理解迭代器和生成器实例详解
  • Python 常用的标准库以及第三方库有哪些
  • Python 访问 MySQL 数据库可以使用哪些第三方实现?
  • Python几种主流框架比较
  • 如何利用python的第三方接口进行二次开发
  • 什么是目前比较常用的Python扩展库管理工具
  • 学会python可以干什么
  • python 适合做什么开发
  • 如何用Python实现与知乎相关的某些小脚本+某些福利的获取
  • 为什么人工智能用 Python
  • python是什么语言
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页python模块汇总(常用第三方库)python实现关闭第三方窗口的方法python第三方库face_recognition在windows上的安装过程python使用到第三方库pymupdf图片与pdf相互转换利用python实现汉字转拼音的2种方法python获取一组汉字拼音首字母的方法python实现将汉字转换成汉语拼音的库python 返回汉字的汉语拼音python web flask 视图内容和模板实现代码python从网络读取图片并直接进行处理的方法tensorflow打印输出tensor的值python中for循环详解python+pandas分析nginx日志的实例如何使用python 打印各种三角形python itsdangerous模块的具体使用方法python内建数据结构详解快速了解python中的装饰器python通过for循环理解迭代器和生成器实例详解python入门教程 超详细1小时学会python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 使用心得(一)安装和首python strip()函数 介绍python 中文乱码问题深入分析python中使用xlrd、xlwt操作excepython科学计算环境推荐——anacpython逐行读取文件内容的三种方python实现带下标索引的遍历操作示例局域网内python socket实现windows与linupython3自动生成mysql数据字典的markdownpython实现计算长方形面积(带参数函数dempython 通过微信控制实现app定位发送到个python3将变量写入sql语句的实现方式python 函数中的内置函数及用法详解使用python和django完成博客数据库的迁移python简直是万能的,这5大主要用途你一定python对数组进行反转的方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved