国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python文本統(tǒng)計(jì)功能之西游記用字統(tǒng)計(jì)操作示例

2020-01-04 15:10:16
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Python文本統(tǒng)計(jì)功能之西游記用字統(tǒng)計(jì)操作。分享給大家供大家參考,具體如下:

一、數(shù)據(jù)

xyj.txt,《西游記》的文本,2.2MB

致敬吳承恩大師,4020行(段)

二、目標(biāo)

統(tǒng)計(jì)《西游記》中:

1. 共出現(xiàn)了多少個(gè)不同的漢字;
2. 每個(gè)漢字出現(xiàn)了多少次;
3. 出現(xiàn)得最頻繁的漢字有哪些。

三、涉及內(nèi)容:

1. 讀文件;
2. 字典的使用;
3. 字典的排序;
4. 寫文件

四、效果

Python,文本統(tǒng)計(jì),西游記,用字統(tǒng)計(jì)

五、源代碼

# coding:utf8import sysreload(sys)sys.setdefaultencoding("utf8")fr = open('xyj.txt', 'r')characters = []stat = {}for line in fr:  # 去掉每一行兩邊的空白  line = line.strip()  # 如果為空行則跳過該輪循環(huán)  if len(line) == 0:    continue  # 將文本轉(zhuǎn)為unicode,便于處理漢字  line = unicode(line)  # 遍歷該行的每一個(gè)字  for x in xrange(0, len(line)):    # 去掉標(biāo)點(diǎn)符號(hào)和空白符    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    # 漢字出現(xiàn)次數(shù)加1    stat[line[x]] += 1print len(characters)print len(stat)# lambda生成一個(gè)臨時(shí)函數(shù)# d表示字典的每一對(duì)鍵值對(duì),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:  # 進(jìn)行字符串拼接之前,需要將int轉(zhuǎn)為str  fw.write(item[0] + ',' + str(item[1]) + '/n')fr.close()fw.close()

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广德县| 和静县| 哈尔滨市| 宁乡县| 沈丘县| 汉源县| 左权县| 民和| 沧源| 紫云| 屯留县| 滦平县| 天门市| 平南县| 桃江县| 武隆县| 鄂尔多斯市| 涟源市| 正镶白旗| 沧州市| 赤峰市| 象山县| 蒙山县| 澄城县| 清原| 丰宁| 屏东市| 裕民县| 皋兰县| 昌宁县| 恩施市| 寿阳县| 通山县| 怀化市| 佛坪县| 虎林市| 隆子县| 司法| 徐汇区| 新竹县| 高陵县|