1. 程式人生 > >python讀取TXT文字內容的字個數和每個字出現的個數

python讀取TXT文字內容的字個數和每個字出現的個數

 

python讀取TXT文字內容的字個數和每個字出現的個數

原始碼

# 開啟檔案
fr=open('xyj.txt','r', encoding='UTF-8')
# 讀取檔案所有行
content=fr.readlines()
contentLines=''

characers=[]
stat={}

# 依次迭代所有行
for line in content:
    # 去除空格
    line=line.strip()
    if len(line)==0:
        continue
    contentLines = contentLines + line
    # print(line)
    # 統計每一字出現的個數
    for x in range(0,len(line)):
        # 如果字元第一次出現 加入到字元陣列中
        if not line[x] in characers:
            characers.append(line[x])
        # 如果是字元第一次出現 加入到字典中
        if line[x] not in stat:
            stat[line[x]]=1
        #出現次數加一
        stat[line[x]]+=1

# 對字典進行倒數排序 從高到低 其中e表示dict.items()中的一個元素,
# e[1]則表示按 值排序如果把e[1]改成e[0],那麼則是按鍵排序,
# reverse=False可以省略,預設為升序排列
stat=sorted(stat.items(), key=lambda e:e[1], reverse=True)
# 列印stat 每個字和其出現的次數 stat經過排序後變成二元組
# print(stat)
# for i in range(len(stat)):
#     print(stat[i][0],stat[i][1])
for i in stat:
    print(i[0],i[1])
print('全文共有%d個字'%len(contentLines))
print('一共有%d個不同的字'%len(characers))
fr.close()