精华内容
下载资源
问答
  • 文本字符分析python
    千次阅读
    2022-03-29 19:21:33

    分析附件 data.txt 文件的字符分布,即每个字符对应的数量。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬

    按照 字符:数量 显示,每行一个结果,如果没有出现该字节则不显示输出,字符采用 Unicode 编码升序排列。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬

    示例1:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬

    输入:无
    输出:"
    
    a:1
    b:2
    c:3
    "
    

    注意:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬

    • 示例1 是一个输入输出示范样例,不是正确结果;
    • 字符:数量,其中,字符表示为可打印字符,按照升序。
    d = {}
    with open("data.txt","r") as fp:#打开文件
        for line in fp:#统计字符
            for item in line:
                d[item] = d.get(item,0) + 1
        keys = sorted(d)#排序,注意!!!!!!!
                        #字典排序返回的是一个列表
        for key in keys:#遍历输出
            print(key +':'+ str(d[key]))

    更多相关内容
  • python文本字符分析

    千次阅读 2021-05-23 15:06:43
    编写程序接收字符串,按字符出现频率的降序打印字母。分别尝试录入一些中英文文章片段,比较不同语言之间字符频率的差别。 ...

    编写程序接收字符串,按字符出现频率的降序打印字母。分别尝试录入一些中英文文章片段,比较不同语言之间字符频率的差别。

     

    展开全文
  • 主要介绍了python统计文本字符串里单词出现频率的方法,涉及Python字符串操作的相关技巧,需要的朋友可以参考下
  • Python 文本字符串清理

    千次阅读 2020-12-29 01:37:52
    文本字符串清理由于收集来源的问题(比如,表单文本数据录入错误,甚至于有意录入错误的数据),文本字符串往往需要先进行清理才能够在后续的需求中发挥正常且正确的作用。删除字符串中多余的字符在文本字符串中,经常...

    文本字符串清理

    由于收集来源的问题(比如,表单文本数据录入错误,甚至于有意录入错误的数据),文本字符串往往需要先进行清理才能够在后续的需求中发挥正常且正确的作用。

    删除字符串中多余的字符

    在文本字符串中,经常会遇到开头,结尾或者中间不需要的字符,例如空白符。

    strip()、lstrip()、rstrip()

    strip() 方法用于移除开始或结尾的字符。该方法接受一个参数 chars,该参数为指定要移除的字符。若缺省或为 None,默认指定移除空白符。

    lstrip(),rstrip() 方法参数同 strip(),lstrip() 从左执行移除操作,而 rstrip() 从右执行移除操作。

    举例说明三者的用法及效果:

    >>> # 空白符的移除

    ... s = ' hello world \n'

    >>> s.strip() # 移除前后空白符

    'hello world'

    >>> s.lstrip() # 移除前空白符

    'hello world \n'

    >>> s.rstrip() # 移除后空白符

    ' hello world'

    >>>

    >>> # 指定其他字符的移除

    ... s = 'www.example.com'

    >>> s.strip('cmowz.')

    'example'

    >>> s.lstrip('cmowz.')

    'example.com'

    >>> s.rstrip('cmowz.')

    'www.example'

    对于上述代码,移除空白字符比较好理解。指定移除其他字符,实际上执行的过程:移除的过程中遇到一个字符未包含于 chars 所指定的字符集中时,将停止操作。(如 lstrip() 示例中遇到 e 字符并未包含于指定字符集 cmowz. 中,此时执行停止,返回剩余部分的内容。)

    在处理数据以备后续使用,这些 strip() 方法往往会被频繁调用。但是,这里需要注意的是,这些方法并不能够对字符串中间的文本产生任何影响。如下示例:

    >>> s = ' hello world \n'

    >>> s.strip()

    'hello world'

    如果需要移除中间的空格,可以考虑使用 replace() 方法或者是用正则表达式中的 sub 进行替换。示例如下:

    >>> s = 'hello world'

    >>> s.replace(' ','')

    'helloworld'

    >>> import re

    >>> re.sub('\s+', ' ', s)

    'hello world'

    清洗文本字符串

    有些用户,会恶作剧在网站页面表单输入 Unicode 文本,例如 Un̄ićŏdè ,现在的需求是将这些字符进行清理。

    文本清理会涉及文本解析和数据处理等系列问题。较为简单的情形下,可以选择将文本转为标准格式(例如:str.upper() 和 str.lower()),然后利用替换操作(比如:str.replace() 或者 re.sub()),删除或者替换指定字符。

    str.translate()

    str.translate(table) 主要的作用是返回原字符串的副本,其中每个字符按给定的转换表进行映射。参数 table 必须是使用 __getitem__() 实现索引操作的对象,通常为 mapping 或 sequence。如下示例:

    >>> s = 'Un̄ićŏdè, the\fworld standard\tfor text and emoji\r\n'

    >>> given_map = {

    ... ord('\t'): ' ',

    ... ord('\f'): ' ',

    ... ord('\r'): None

    ... }

    >>> a = s.translate(given_map)

    >>> a

    'Un̄ićŏdè, the world standard for text and emoji\n'

    返回的结果中,空白字符 \t 和 \f 被重新映射为一个空格。而返回 None 这部分,表示删除字符 \r。

    unicodedata 模块

    unicodedata.normalize()

    上面提及的 Un̄ićŏdè,这种带有和音符的字符串。可以使用尝试使用 str.translate() 方法构建更完整的转换表,用来删除和音符。如下示例:

    >>> import sys

    >>> import unicodedata

    >>> a = 'Un̄ićŏdè, the world standard for text and emoji\n'

    >>> cmb_chrs = dict.fromkeys(c for c in range(sys.maxunicode) if unicodedata.combining(chr(c)))

    >>> b = unicodedata.normalize('NFD', a)

    >>> b

    'Un̄ićŏdè, the world standard for text and emoji\n'

    >>> b.translate(cmb_chrs)

    'Unicode, the world standard for text and emoji\n'

    >>>

    dict.fromkeys(seq[, value]) 方法,返回一个新字典,value 默认为 None。在这个例子中,dict.fromkeys() 方法用于构造一个字典,每个 Unicode 和音符作为键,对应的值全部为 None。

    unicodedata.normalize(form, unistr) 返回 Unicode 字符串 unistr 的正常形式 form。 form 的有效值为 NFC、NFKC、NFD,NFKD。combining() 方法用于确认字符是否为和音符。示例中的 Unicode 文本是由字母与和音符组合而成的,使用 NFD 将字符转换为分解形式,然后用 translate 函数删除所有的和音符。

    encode() 和 decode()

    还有另外一种方法,涉及到 I/O 解码与编码函数。如下示例:

    >>> a

    'Un̄ićŏdè, the world standard for text and emoji\n'

    >>> b = unicodedata.normalize('NFD', a)

    >>> b.encode('ascii', 'ignore').decode('ascii')

    'Unicode, the world standard for text and emoji\n'

    代码的执行流程:同样是先用 normalize() 方法先分解和音符。然后在 ASCII 编码/解码的过程中丢弃掉这些字符。这种方法只有在获取文本到对应 ASCII 的时候才会生效。

    关于性能方面的问题,简单替换操作,str.replace() 体现的优势更明显。但,如果需要清理复杂字符,对字符重新映射或删除,translate() 的表现更好。具体使用哪种方法,要多方面尝试评估再采用。

    参考资料

    来源

    [1] David M. Beazley;Brian K. Jones.Python Cookbook, 3rd Edtioni.O'Reilly Media.2013.

    [2] "4. Built-in Types — Python 3.6.10 documentation".python.org. Retrieved 13 November 2019.

    [3] "6.5. unicodedata — Unicode Database".Docs.python.org. Retrieved 3 January 2020.

    以上就是本篇的主要内容

    展开全文
  • python·文本分析

    千次阅读 2021-07-11 22:24:45
    python·文本分析词云图停用词处理分词 词云图 import matplotlib.pyplot as plt #数学绘图库 import jieba #jieba分词库 from wordcloud import WordCloud,ImageColorGenerator #词云库 from PIL import Image #...

    词云图

    from wordcloud import WordCloud

    import matplotlib.pyplot as plt     #数学绘图库
    import jieba      #jieba分词库
    from wordcloud import WordCloud,ImageColorGenerator    #词云库
    from PIL import Image      #图像处理标准库
    import numpy as np   #数据科学计算的核心库
    text = open(r'E:\data8.txt',"r",encoding="utf-8").read()# 词文档
    #print(text)
    
    #对文章进行分词
    wordlist_after_jieba = jieba.cut(text, cut_all=False)
    wl_space_split = " ".join(wordlist_after_jieba)
    print(wl_space_split)
    
    image = Image.open(r'E:\2.jpeg') # 绘制词云底图
    graph = np.array(image)      #图像数据化
    
    wc = WordCloud(font_path = r"msyh.ttc",background_color='white',max_font_size=80,mask=graph)
    wc.generate(wl_space_split)
    image_color = ImageColorGenerator(graph)
    wc.recolor(color_func = image_color)
    wc.to_file(r'E:\wordcloud.png')
    
    #第七步,显示图片
    plt.figure("健身卡")    #指定词云图的名称
    plt.imshow(wc)          #以图片的形式显示词云
    plt.axis("off")         #关闭图像坐标系
    plt.show()              #显示图片
    
    

    from pyecharts.charts import WordCloud

    import jieba
    import sqlite3
    import pandas as pd
    from collections import Counter
    import pyecharts.options as opts
    from pyecharts.charts import WordCloud
    
    
    # 连接数据库
    conn = sqlite3.connect(r'C:\Users\JSJSYS\Desktop\分词\数据\数据\recruit.db')
    # sql语句
    sql = 'select * from recruit'
    # 读表
    df = pd.read_sql(sql,conn)
    # 获取表格的基本信息   info()
    # print(df.info())
    # 选取‘job_detail'列  前十行数据
    data = df['job_detail'][:10]
    # print(data)
    # 拼接成一个字符串,方便切词
    data_str = ''
    for res in data:
        data_str += res
    # print(data_str)
    
    # 利用jieba切词,来切分字符串
    result_cut = jieba.cut(data_str)
    # 利用Counter进行词频统计  {词:数量}
    result = Counter(result_cut)
    # print(result)
    # 利用items转换成元组的形式,方便制作词云
    items_ = result.items()
    # 变list
    items_list = list(items_)
    
    # 词云图
    (
        WordCloud()
        .add(series_name="热点分析", data_pair=items_list, word_size_range=[6, 66])
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="热点分析", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
            ),
            tooltip_opts=opts.TooltipOpts(is_show=True),
        )
        .render("wordcloud1.html")
    )
    
    
    

    在这里插入图片描述

    停用词处理

    stop = []# 停用词表
    standard_stop = []
    text = []# 文本集
    after_text = []# 处理后文本
    file_stop = r'C:\Users\JSJSYS\Desktop\分词11\hit_stopwords.txt'  # 文档为停用词表
    file_text = r'C:\Users\JSJSYS\Desktop\分词11\data.txt'  # 要处理的文本集合
    with open(file_stop, 'r', encoding='utf-8-sig') as f:
        lines = f.readlines()  # lines是list类型
        for line in lines:
            lline = line.strip()  # line 是str类型,strip 去掉\n换行符
            stop.append(lline)  # 将stop 是列表形式
    #print(stop)
    # stop 的元素是一行一行的 句子,需要进行转化为一个词一行,即下面:
    for i in range(0, len(stop)):
        #print(stop[i].split())
        for word in stop[i].split():
            standard_stop.append(word)
    #print(standard_stop)
    
    # 读取文本集,
    with open(file_text, 'r', encoding='utf-8-sig') as f:
        lines = f.readlines()
        #print(lines)
        for line in lines:
            lline = line.strip()
            #print(lline)
            lline = str(line.split())
            #print(lline)
            for i in lline:
                #print(i)
                if i not in standard_stop:
                    after_text.append(i)
    #print(after_text)
    
    # 将结果保存在txt中
    with open(r'C:\Users\JSJSYS\Desktop\分词11\result.txt', 'w+')as f:
        for i in after_text:
            f.write(i)
    
    展开全文
  • 本文实例讲述了python统计字符串中指定字符出现次数的方法。分享给大家供大家参考。具体如下: python统计字符串中指定字符出现的次数,例如想统计字符串中空格的数量 s = "Count, the number of spaces." print s....
  • python文本相似度分析

    2019-01-26 19:29:01
    python爬虫,以及相似度分析,可以分析两个文本字符串的相似度
  • 由于部分项目有平台兼容性要求,为了使代码可移植,C代码中可能会利用宏命名,来控制类型定义。 如何将当前代码数据类型,批量替换为重定义后通用类型,成了我们要解决的问题。于是编写了以下Python脚本。
  • 我需要确保这些文件路径是文本,以确保它们是正确的,这样我的其余代码才能运行。现在我想我得到的文件路径是unicode。基本上我需要这个:u"File\location\extra\slash"成为这样:^{pr2}$我该怎么做?我还没能找到...
  • Python中文文本分析基础

    千次阅读 多人点赞 2020-12-13 10:24:08
    中文文本分析相关库1. 中文分词jieba库(1). jieba库概述(2). jieba库安装(3). jieba分词原理(4). jieba库的使用说明1. 精确模式2. 全模式3. 搜索引擎模式(5). jieba库常用函数2. 词云绘制worldcloud库3. 社交关系...
  • python 文本分析

    千次阅读 2018-12-17 11:42:00
    自从认识了python这门语言,所有的事情好像变得容易了,作为小白,逗汁儿今天就为大家总结一下python文本处理的一些小方法。 话不多说,代码撸起来。 ——python大小写字符互换 在进行大小写互换时,常用到的...
  • 此文件为Python 123 平台 Python语言程序设计 练习7:文件与数据格式化的文件字符分布附件
  • python根据特定字符来分割文本

    千次阅读 2021-03-12 13:09:27
    在自动化测试中,会把所有的测试数据汇总成一个txt文本输出,经常一个测试跑完,就有几万行文本数据,不太方便观看,就想写一个脚本自动处理测试数据。这篇是讲怎么分割这些数据。 import os import re file = open...
  • Python文本分析 jieba

    千次阅读 2021-05-07 17:00:29
    Python文本分析 jieba.analyse.extract_tags()提取句子级的关键字 提取关键字 分词介绍 统计中文词频 jieba.analyse.extract_tags()提取句子级的关键字 提取关键字 jieba.analyse.extract_tags()提取句子级的关键字 ...
  • 本文实例讲述了python中字符串前面加r的作用。分享给大家供大家参考。具体分析如下: ... 您可能感兴趣的文章:python统计文本字符串里单词出现频率的方法Python字符串逐字符或逐词反转方法Python合并字符串
  • Python中将文本文件转换为字符

    千次阅读 2020-11-22 16:26:19
    我对python还不熟悉,我正试图在aworderland.txt中的alice_中找到最大的单词。我想我已经建立了一个很好的系统(“见下文”),但我的输出是返回一个“word”,其中包含连接多个单词的破折号。有没有办法删除文件...
  • python 进行文本情感分析

    万次阅读 多人点赞 2020-06-09 22:37:05
    wordcloud强调python版本,snownlp和jieba不强调版本,我装的都是python3.6下的。 数据:和鲸社区数据-京东2k条评论 import pandas as pd data = pd.read_csv('C:/Users/admin/Desktop/新建文件夹/京东评论数据.csv'...
  • python 文本文件数据处理#/usr/bin/envpython3#-*-coding:utf-8-*-defzhidao_560604345(infile,outfile):reader=open(infile,'r')set_dict={}setenv_dict={}whileTrue:line=reader.readline()iflen(line)...
  • Python 文本处理教程

    2018-05-10 10:19:44
    Python2.7版本的文本处理电子书,全面介绍如何快速处理字符串,正则表达式等
  • Python文本分析技巧

    2020-08-09 20:23:09
    对编写过Python代码的读者来说,文本分析字符串操作所用到的知识和Web开发(例如使用Python编写的Web框架Django来构建网站)所用到的知识也是截然不同的。本章介绍的主题如下: 为什么用Python来做文本分析; ...
  • (\\ W +\u201D、\u201C文本)[4]:\u201C所有这一切都表明,你不知道很多关于SCSI SCSI 1与SCSI控制器芯片范围确实是0 5 mb的年代,这是你所对SCSI SCSI 1 2 SCSI控制器芯片4 6 mb与10 mb年代破裂8位注意速度的增加Mac ...
  • 我使用的是python2.7.1,我试图识别所有不包含文本字符串的文本文件。在这个程序一开始似乎还在工作,但每当我把文本字符串添加到一个文件中时,它总是像不包含它一样出现(误报)。当我检查文本文件的内容时,字符串...
  • Python字符串使用详解

    千次阅读 多人点赞 2021-12-13 14:10:29
    除了数字,Python中最常见的数据类型就是字符串,无论那种编程语言,字符串无处不在。例如,从用户哪里读取字符串,并将字符串打印到屏幕显示出来。 字符串是一种数据结构,这让我们有机会学习索引和切片——用于从...
  • Python练习题22:文件字符分布

    千次阅读 2020-11-17 11:41:15
    s = 0 #总字符数 d = {} #字典类型 for i in range(26): #字典键入,0-25对应a-z,赋值为0 d[chr(ord('a')+i)] = 0 for line in f: #逐行遍历文件 for i in line: #遍历一行 d[i] = d.get(i,0) + 1 s += 1 #...
  • 今天搞了一天的文本处理,发现python真的太适合做数据处理了。废话不多说,一起学习吧!1.我的原始数据是这样的,如图2.如果要提取每行含有pass的字符串,代码如下:import refilepath = "E:/untitled1/analyze_log/...
  • pythonpython字符串中插入字符

    千次阅读 2021-12-24 13:55:45
    废话不多说,直接上demo。 s1 = "2021.12.2415:28:00" t1 = list(s1) t1.insert(1,'e') # 1的位置插入'e' s1_new = ''.join(t1) # 连接起来 print(s1_new) '2e021.12.2415:28:00' s2 = "2021.12.2415:28:00" ...
  • 字符串本质上就是由多个字符组成的,Python 允许通过索引来操作字符,比如获取指定索引处的字符,获取指定字符字符串中的位置等。Python 字符串直接在方括号([])中使用索引即可获取对应的字符,其基本语法格式为...
  • 由于业务需要,要提取指定字符串的关键信息。具体要求是从一个字符串中提取<>里面的内容。 于是想到利用Python 中的正则实现。 输入: 我要听<梁博>的<男孩> 输出: 梁博 男孩 Python ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 266,718
精华内容 106,687
关键字:

文本字符分析python

友情链接: BWRaep.rar