教育研究中,有時需要對乙個文件進行視覺化展示——字元雲。而有時還需要對多個文件內容合併進行視覺化展示。本文首先給出通過呼叫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'
)
所有的原碼以及原理說明,請見下面**中的注釋:
上述原碼**於我編寫的oset開源庫,該庫旨在幫助教育研究者便捷處理日常科研、工作中遇到的問題。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)
作為一名非科班出身的教育技術學研究生,技術水平十分有限。近期看到教育工作者在處理資料是比較困難,包括本教育技術學的科研工作者在面對大批量資料時也是束手無策,於是萌生了為教育工作者寫乙個開源庫的想法,意圖通過簡單的幾行**就可以完成諸如檔案合併、字元雲等複雜功能。歡迎關注該專案,如果有同學在此方面感興趣和可以和我聯絡,我們一起維護該專案!
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...