python實現文件字元雲

2021-10-05 06:32:59 字數 2153 閱讀 5845

教育研究中,有時需要對乙個文件進行視覺化展示——字元雲。而有時還需要對多個文件內容合併進行視覺化展示。本文首先給出通過呼叫oset(教育技術開源庫)實現字元雲最簡單的方式(見第2小節);隨後將介紹oset中實現該原理的原始碼,供有需要的同學研究和二次開發。

#如僅僅對上述資料夾中「教育學部.txt」檔案進行視覺化展示

from oset import chineseword

chineseword.wordcloud(

'c:\\users\\administrator\\desktop\\test\\教育學部.txt'

)

視覺化結果如下:

#將test資料夾中所有的

from oset import chineseword

chineseword.wordcloud(

'c:\\users\\administrator\\desktop\\test'

)

視覺化結果如下:

所有的原碼以及原理說明,請見下面**中的注釋:

def

wordcloud

(filepath)

:'''判斷出是否為單個檔案還是存有多個檔案的資料夾,

如果是多個檔案則呼叫oset庫中file類combfile()函式

首先實現檔案合併,並讀取合併後檔案內容。無論是單個文

件還是多個檔案合併後的結果,均通過sentence變數訪問

文件的結果'''

try:

file.combfile(filepath)

sentence=file.readfile(filepath+

'\\combfile_fin.txt'

)except

: sentence=file.readfile(filepath)

filepath = os.path.dirname(filepath)

'''呼叫oset庫中,chineseword類的cutword函式,實現

對檔案的分詞,並將sentence承接'''

sentence=chineseword.cutword(sentence)

'''通過wordcount函式實現對分詞後文件詞頻進行統計,

並以字典形式返回'''

worddict=chineseword.wordcount(sentence)

keylist,valuelist = worddict.keys(

),worddict.values(

) outputfile = filepath+

'\\osetwordcloud.html'

'''呼叫pyecharts庫中wordcloud函式實現字元雲繪製'''

cloud = wordcloud(

'wordcloud'

, width=

1000

, height=

600)

cloud.add(

' ',keylist,valuelist,

shape=

'circle',)

cloud.render(outputfile)

上述原碼**於我編寫的oset開源庫,該庫旨在幫助教育研究者便捷處理日常科研、工作中遇到的問題。

作為一名非科班出身的教育技術學研究生,技術水平十分有限。近期看到教育工作者在處理資料是比較困難,包括本教育技術學的科研工作者在面對大批量資料時也是束手無策,於是萌生了為教育工作者寫乙個開源庫的想法,意圖通過簡單的幾行**就可以完成諸如檔案合併、字元雲等複雜功能。歡迎關注該專案,如果有同學在此方面感興趣和可以和我聯絡,我們一起維護該專案!

python實現詞云

自己用 生成自己的詞云,複雜麼?需要很長時間麼?很多文字都介紹過各種的方法,但實際上只需要10行python 即可。import matplotlib.pyplot as plt from wordcloud import wordcloud import jieba text from file ...

Python 文件化字串

python有乙個很奇妙的特性,稱為 文件字串 它通常被簡稱為 docstrings docstrings是乙個重要的工具,由於它幫助你的程式文件更加簡單易懂,你應該盡量使用它。你甚至可以在程式執行的時候,從函式恢復文件字串!usr bin python filename func doc.py d...

python之文件字串

程式的可讀性最重要。一般建議在函式體開始的部分新增注釋。通過呼叫help 函式名.doc 可以檢視注釋。測試文件字串基本用法 defprintmax a,b 用於比較兩個數的大小,列印較大的值 if a b print a,是較小值 if aprint b,較大值 printmax 11,22 he...