【Python】Python在文本分析中将中文和非中文进行分割
来源:互联网 发布:华为交换机mac过滤 编辑:程序博客网 时间:2024/06/05 17:36
1.问题描述
进行文本分析的时候需要将中文和非中文进行分开处理,下面通过Python将文本中的中文部分提取出来进行需要的处理。
2.问题解决
开发环境:Linux
程序代码如下:split.py
#!/usr/bin/python#-*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding("utf8")import re #导入正则表达式模块:re模块def translate(inputFile, outputFile):fin = open(inputFile, 'r') #以读的方式打开输入文件fout = open(outputFile, 'w') #以写的方式打开输出文件for eachLine in fin: #按行读入文件内容line = eachLine.strip().decode('utf-8', 'ignore') #处理前进行相关的处理,包括转换成Unicode等p2 = re.compile(ur'[^\u4e00-\u9fa5]') #中文的编码范围是:\u4e00到\u9fa5zh = " ".join(p2.split(line)).strip() zh = ",".join(zh.split())outStr = zh #经过相关处理后得到中文的文本fout.write(outStr.strip().encode('utf-8') + '\n')fin.close()fout.close()if __name__ == '__main__':translate(sys.argv[1], sys.argv[2]) ##通过获得命令行参数获得输入输出文件名来执行,方便
程序完成之后,在Linux命令行输入:python split.py myinput.txt myoutput.txt
就能够执行了。最终的翻译结果都写入到输出文件myoutput.txt中了。
3.注意问题
(1)第16行,中文的编码范围是:\u4e00到\u9fa5,所以该行的[^\u4e00-\u9fa5]表示非中文,也就是根据非中文切分出中文的文本。
希望对大家有所帮助,谢谢。
1 0
- 【Python】Python在文本分析中将中文和非中文进行分割
- 使用python对中文文本进行分词
- python的中文文本挖掘库snownlp进行购物评论文本情感分析实例
- python 中文文本分类
- Python进行中文注释
- python进行中文注释
- Python中文文本聚类
- python提取文本中的中文
- python 读取txt中文文本
- python读取中文txt文本
- Python中文文本分析时遇到的编码问题小结
- 在Python写中文
- Python如何进行中文注释
- Python中进行中文注释
- Python如何进行中文注释
- Python如何进行中文注释
- Python如何进行中文注释
- Python 文本挖掘:jieba中文分词和词性标注
- CentOS 7 用户怎样安装 LNMP(Nginx+PHP+MySQL)
- 基本排序(一):冒泡排序算法的三种基本实现
- java中的消息队列
- 告别14
- js截取两个字符串之间的内容(正则表达式).
- 【Python】Python在文本分析中将中文和非中文进行分割
- SVN还原已删除文件
- 什么是“沙箱”技术?
- 求利用邻接矩阵求多有节点最短路径的java程序 可运行
- Hadoop 默认排序
- android EditText软键盘的隐藏和显示
- 数据库 执行计划的基本名词解释
- spring的context:property-placeholder属性
- 如何使用Guava的缓存管理