查看原文
其他

Python实现简繁体转换

爬虫俱乐部 Stata and Python数据分析 2023-01-01

本文作者:谭   可,中南财经政法大学统计与数学学院

本文编辑:张   猛

技术总编:王子一


Stata&Python云端课程来啦!

     为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!!!Stata&Python特惠课程双双上线腾讯课堂~爬虫俱乐部推出了Python编程培训课程Stata基础课程Stata进阶课程。报名课程即可加入答疑群,对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦。我们在这篇推文的最后提供了每门课程的课程二维码,大家有需要的话可以直接扫描二维码查看课程详情并进行购买哦~


引言
中文有两种书写方式,一种是中文简体,一种是中文繁体。如果要完全掌握中文语言的自然语言处理,那么简繁都不可避免。所以,掌握了简体与繁体的转换,往往能够事半功倍。在日常生活中常常会遇到需要把中文字符串进行繁体和简体中文的转换需求,解决方法为引入简繁体处理库,Python支持繁简体转换的库有许多,非常的方便简洁。本文将主要介绍利用Python实现简繁体转换的3种方法。
1、opencc-python

首先介绍opencc中的Python实现库,它具有安装简单,翻译准确,使用方便等优点。对于我们日常的需求完全能够胜任。

1.1安装opencc-python

首先在terminal中安装opencc-python。
pip install opencc-python
1.2内建的opencc翻译配置

这里有四种内建的opencc翻译配置:
  • t2s - 繁体转简体(Traditional Chinese to Simplified Chinese)

  • s2t - 简体转繁体(Simplified Chinese to Traditional Chinese)

  • mix2t - 混合转繁体(Mixed to Traditional Chinese)

  • mix2s - 混合转简体(Mixed to Simplified Chinese)

1.3简繁体转换
import opencccc = opencc.OpenCC('t2s')print(cc.convert(u'Open Chinese Convert(OpenCC)開放中文轉換,是一個致力於中文簡繁轉換的項目,提供高質量詞庫和函數庫(libopencc)。'))
输出结果如下:



2、zhtools
2.1安装

利用Python实现汉字的简体和繁体相互转换的命令也有人开发过,并发布到github上,地址:https://github.com/skydark/nstools/tree/master/zhtools。下载该项目中的 zh_wiki.py  和 langconv.py 两个文件,放到python代码目录下就可以了。
2.2简繁体转换

from langconv import Converter
def convert(text, flag=0): #text为要转换的文本,flag=0代表简化繁,flag=1代表繁化简 rule = 'zh-hans' if flag else 'zh-hant'    return Converter(rule).convert(text)    text1 = '悄悄是别离的笙箫; 夏虫也为我沉默, 沉默是今晚的康桥'print(convert(text1))
text2 = '悄悄是別離的笙簫; 夏蟲也為我沉默, 沉默是今晚的康橋'print(convert(text2, 1))
转换后的结果为:

该方法的优点是轻量,使用方便,简洁,但可能翻译会不太准确。

3、zhconv
3.1zhconv安装

zhconv库直接使用pip安装,安装命令为:
pip install zhconv

3.2使用方法

zhconv支持以下地区词的转换:

zh-cn 大陆简体

zh-sg 马新简体(马来西亚和新加坡使用的简体汉字)

zh-tw 台灣正體(台湾正体)

zh-hk 香港繁體(香港繁体)

zh-hans 简体

zh-hant 繁體(繁体)

方法1:直接导入zhconv
import zhconv
text = '此去经年,应是良辰好景虚设。便纵有千种风情,更与何人说?'text1 = zhconv.convert(text, 'zh-hant')text2 = zhconv.convert(text, 'zh-tw')text3 = zhconv.convert(text, 'zh-hk')print('转换为繁体:', text1)print('转换为台湾正体:', text2)print('转换为香港繁体:', text3)

转换结果为:

方法2:导入zhconv的convert

from zhconv import convert
text = '此去经年,应是良辰好景虚设。便纵有千种风情,更与何人说?'text1 = convert(text, 'zh-hant')print('转换为繁体:', text1)

转换结果为:



4、文档的简繁体转换

利用扩展库python-docx,可以将Word文档中的中文进行转换,简体转换为繁体:

pip install python-docx

这里我们使用zhconv库的方法来将word文档《匆匆》转换为《匆匆》繁体版:

from zhconv import convertfrom docx import Document
word = Document('《匆匆》.docx')for t in word.paragraphs: t.text = convert(t.text, 'zh-hant')for i in word.tables: for p in i.rows: for h in p.cells: h.text = convert(h.text, 'zh-hant')word.save('《匆匆》繁体版.docx')

换前:

转换后:

这样我们就实现了将《匆匆》这个文档转换为了繁体版。
到此这篇关于Python实现简繁体转换的文章就介绍到这了,更多相关Python 简繁体转换以及其他内容请继续关注之后的相关文章!

End
最后,我们为大家揭秘雪球网(https://xueqiu.com/) 最新所展示的沪深证券和港股关注人数增长Top10。




腾讯课堂课程二维码






 对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!














往期推文推荐

 Stata与Python交互方法及数据传递

 “青铜”爬“王者”

 留下想要的变量,你会几种方法?

 Python:朋友圈配图,我承包了

 绘制全国祠堂密度地图

 如何使用Stata绘制一幅好看的柱状图?

【爬虫篇】基于selenium爬取美团评论

 双标的莱万——足球无关政治?!

 Stata处理重复值:duplicates

It's time to send a flower to your lover!        2021各省GDP新鲜出炉

 爬虫实战-采集全国各省疫情数据

 log——为你的操作保驾护航

 一行代码教你玩转emoji

 票房遇冷的春节档口碑冠军丨《狙击手》影评分析

 学习丰县,营造良好营商环境!

 大国丢娃图:从川渝到徐州!

 丰县“失火”,殃及徐州:股市超跌近30亿!

 Unicode转义字符——编码与解码

        徐州!徐州!

        B站弹幕爬虫——冬奥顶流冰墩墩&雪容融

        不会用Stata做描述性统计表?so easy!

        丰沛之地:备足姨妈巾

 过年啦,用Python绘制一幅属于你的春联吧!

       登上爬虫俱乐部“时光机” |上“机”出发 开启一段奇妙之旅

       【基础篇】查找并输出子字符串的定位

        Stata中的小清新命令——添加观测值

        PCA(主成分分析法)降维——Python实现

       超好用的事件研究法

        如何绘制任泽平《鼓励生育基金》的几幅图

        Python 第六天——字符串

        findname——想要什么找什么

        Python字符串之“分分合合”

        PDF转docx可批量操作?——wordconvert的小技巧

        考研之后,文科生需以“do”躬“do”!

       手绘五星兴家国——用Stata绘制五星红旗

关于我们 


   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里
为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众
号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存