Maison  >  Article  >  développement back-end  >  Fonction de statistiques de texte Python : Journey to the West utilise des opérations de statistiques de mots

Fonction de statistiques de texte Python : Journey to the West utilise des opérations de statistiques de mots

不言
不言original
2018-05-07 13:53:273483parcourir

Cet article présente principalement l'opération de statistiques de mots de Journey to the West, une fonction de statistiques de texte de Python, et analyse les compétences opérationnelles associées telles que la lecture de texte Python, la traversée et les statistiques sous forme d'exemples. Les amis dans le besoin peuvent se référer. à cela

L'exemple de cet article décrit le fonctionnement des statistiques de mots de la fonction de statistiques de texte Python Journey to the West. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1. Données

xyj.txt, le texte de "Journey". vers l'Ouest", 2,2MB

Hommage à Maître Wu Chengen, 4020 lignes (paragraphes)

2. Objectifs

Statistiques dans "Voyage vers l'Ouest" :

1. Combien de caractères chinois différents apparaissent au total
2. Combien de fois chaque caractère chinois apparaît le plus ; fréquemment.

3. Contenu impliqué :

1. Utilisation du dictionnaire ; ;

4. Écrire le fichier


4. Effet

5. Code source

# coding:utf8
import sys
reload(sys)
sys.setdefaultencoding("utf8")
fr = open('xyj.txt', 'r')
characters = []
stat = {}
for line in fr:
  # 去掉每一行两边的空白
  line = line.strip()
  # 如果为空行则跳过该轮循环
  if len(line) == 0:
    continue
  # 将文本转为unicode,便于处理汉字
  line = unicode(line)
  # 遍历该行的每一个字
  for x in xrange(0, len(line)):
    # 去掉标点符号和空白符
    if line[x] in [' ','', '\t', '\n', '。', ',', '(', ')', '(', ')', ':', '□', '?', '!', '《', '》', '、', ';', '“', '”', '……']:
      continue
    # 尚未记录在characters中
    if not line[x] in characters:
      characters.append(line[x])
    # 尚未记录在stat中
    if not stat.has_key(line[x]):
      stat[line[x]] = 0
    # 汉字出现次数加1
    stat[line[x]] += 1
print len(characters)
print len(stat)
# lambda生成一个临时函数
# d表示字典的每一对键值对,d[0]为key,d[1]为value
# reverse为True表示降序排序
stat = sorted(stat.items(), key=lambda d:d[1], reverse=True)
fw = open('result.csv', 'w')
for item in stat:
  # 进行字符串拼接之前,需要将int转为str
  fw.write(item[0] + ',' + str(item[1]) + '\n')
fr.close()
fw.close()

Recommandations associées :

Extraction de fonctionnalités de texte Python et vecteur détaillé explication des exemples d'apprentissage d'algorithmes

Explication détaillée de la distance d'édition pour le calcul de similarité de texte Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn