欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種報表數(shù)據(jù)的圖形化展示方法與流程

文檔序號:12177171閱讀:931來源:國知局

本發(fā)明涉及計算機系統(tǒng)數(shù)據(jù)分析領(lǐng)域,具體地說是一種報表數(shù)據(jù)的圖形化展示方法。



背景技術(shù):

在當(dāng)前一些公關(guān)部門、信訪部門或者是一些學(xué)校及公司,經(jīng)常會需要審閱大量的文檔,從文檔中獲得具體信息,了解提交材料人群對相關(guān)問題的關(guān)注點及重點意見建議。

審閱文檔的過程需要耗費大量的人力和時間,因此產(chǎn)生了類似需求,如何能夠通過計算機自動解析出文檔中出現(xiàn)頻率較高的詞語或者通過用戶自定義詞語的方式在定義范圍內(nèi)查找詞語或者將上述兩種方式融合使用,將用戶自定義的詞匯加入高發(fā)詞庫中是目前現(xiàn)有技術(shù)中存在的技術(shù)問題。

專利號為CN 104317943 A的專利文獻(xiàn)公開了一種考核系統(tǒng)的圖形化報表展示方法及系統(tǒng),所述方法包括:步驟1,提取考核數(shù)據(jù),并將考核數(shù)據(jù)以表結(jié)構(gòu)的形式進(jìn)行存儲;步驟2,從存儲考核數(shù)據(jù)的表結(jié)構(gòu)中查詢出需進(jìn)行圖形化報表展示的數(shù)據(jù),并將查詢得到的數(shù)據(jù)封裝成XML格式的數(shù)據(jù);步驟3,在JPS頁面設(shè)置圖形化報表樣式,選擇一種圖形化報表樣式,并調(diào)用FusionCharts插件將XML格式的數(shù)據(jù)解析生成為報表,并在JPS頁面展示生成的報表。但是該技術(shù)方案存在操作復(fù)雜,使用范圍小等缺點。



技術(shù)實現(xiàn)要素:

本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種報表數(shù)據(jù)的圖形化展示方法,來解決如何能夠通過計算機自動解析出文檔中出現(xiàn)頻率較高的詞語或者通過用戶自定義詞語的方式在定義范圍內(nèi)查找詞語或者將上述兩種方式融合使用,將用戶自定義的詞匯加入高發(fā)詞庫中的問題。

本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種報表數(shù)據(jù)的圖形化展示方法,該方法包括如下步驟:

(1)、讀取excel或者文檔文件:通過用戶指定路徑的方式獲取本地excel或者文檔轉(zhuǎn)存到內(nèi)存中或者通過用戶導(dǎo)入的方式獲取導(dǎo)入的excel或者文檔轉(zhuǎn)存到內(nèi)存中;

(2)、獲取excel或文檔文件中的表轉(zhuǎn)換為json數(shù)據(jù):解析內(nèi)存中的excel或者文檔對象獲取workbook對象,獲取表格后解析指定區(qū)域內(nèi)的有效數(shù)據(jù)信息,并將有效數(shù)據(jù)信息轉(zhuǎn)化為json格式數(shù)據(jù);

(3)、分詞和基于TF-IDF算法的關(guān)鍵詞抽?。簩⒁延械挠行?shù)據(jù)信息做分詞操作,返回指定個數(shù)的 TF-IDF 權(quán)重最大的關(guān)鍵詞;TF-IDF(term frequency–inverse document frequency)是一種用于信息檢索與數(shù)據(jù)挖掘的常用加權(quán)技術(shù)。

(4)、調(diào)整詞語序列;

(5)、在excel或文檔指定data中設(shè)置數(shù)據(jù)變量,形成高低分解模式,基于高低分解模式展示圖表。

作為優(yōu)選,所述步驟(1)中采用javastript中read方式獲取文件,而非通常所使用的流處理方式。JavaScript一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動態(tài)功能。

作為優(yōu)選,所述步驟(1)中采用對象方式存儲文件。

作為優(yōu)選,所述步驟(3)中提起關(guān)鍵詞使用逆向文件頻率(IDF)文本語料庫或自定義文本庫。

更優(yōu)地,所述自定義文本庫是指自己自定義的詞典,包含詞庫中未包含的詞,雖然有新詞識別能力,但是自行添加新詞可以保證更高的正確率。

作為優(yōu)選,所述步驟(5)中圖表展示還可以采用html和flash格式。

作為優(yōu)選,該方法使用過程中還包括如下步驟:

①、加載工作表并解析;

②、加載數(shù)據(jù)并啟動服務(wù)。

本發(fā)明的報表數(shù)據(jù)的圖形化展示方法和現(xiàn)有技術(shù)相比,具有以下有益效果:

1、本發(fā)明是通過解析用戶導(dǎo)入或者系統(tǒng)自動生成的excel或者其他日志或報告文檔,獲取excel或者文檔中的指定位置的文字信息,同時按照字符分解文檔中的文字信息,分解之后再通過文字規(guī)則按照中文詞組的編碼方式重新排列,排列之后的詞組根據(jù)用戶指定的格式形成報表;

2、本發(fā)明允許用戶通過文檔方式加載數(shù)據(jù)到當(dāng)前功能中,通過解析文件、分詞及歸類等方式,最終由html的數(shù)據(jù)報表形式展現(xiàn)出來,用戶可以很直觀的看到詞匯出現(xiàn)的頻率,按照指定方式展現(xiàn)。

故本發(fā)明具有設(shè)計合理、結(jié)構(gòu)簡單、使用方便、一物多用等特點,因而,具有很好的推廣使用價值。

附圖說明

下面結(jié)合附圖對本發(fā)明進(jìn)一步說明。

附圖1為報表數(shù)據(jù)的圖形化展示方法的流程圖。

具體實施方式

下面結(jié)合附圖和具體實施例對本發(fā)明作進(jìn)一步說明。

如附圖1所示,本發(fā)明的報表數(shù)據(jù)的圖形化展示方法,該方法包括如下步驟:

(1)、讀取excel或者文檔文件:通過用戶指定路徑的方式獲取本地excel或者文檔轉(zhuǎn)存到內(nèi)存中或者通過用戶導(dǎo)入的方式獲取導(dǎo)入的excel或者文檔轉(zhuǎn)存到內(nèi)存中;該步驟采用javastript中read方式獲取文件,而非通常所使用的流處理方式并采用對象方式存儲文件;

(2)、獲取excel或文檔文件中的表轉(zhuǎn)換為json數(shù)據(jù):解析內(nèi)存中的excel或者文檔對象獲取workbook對象,獲取表格后解析指定區(qū)域內(nèi)的有效數(shù)據(jù)信息,并將有效數(shù)據(jù)信息轉(zhuǎn)化為json格式數(shù)據(jù);具體事例如下:

var sheetNames = workbook.SheetNames;// 返回表名

// 根據(jù)表名獲取對應(yīng)某張表

var worksheet = workbook.Sheets[sheetNames[0]];

通過 worksheet[address] 來操作表格

// 獲取 A1 單元格對象

let a1 = worksheet['A1'];// 返回 { v: 'hello', t: 's', ... }

// 獲取 A1 中的值

a1.v // 返回 'hello'

// 獲取表的有效范圍

worksheet['!ref'] // 返回 'A1:B20'

worksheet['!range'] // 返回 range 對象,{ s: { r: 0, c: 0}, e: { r: 100, c: 2 } }

// 獲取合并過的單元格

worksheet['!merges'] // 返回一個包含 range 對象的列表,[ {s: { r: 0, c: 0 }, c: { r: 2, c: 1 } } ]

utils.sheet_to_json(worksheet) //針對單個表,返回序列化json數(shù)據(jù)。

(3)、分詞和基于TF-IDF算法的關(guān)鍵詞抽取:將已有的有效數(shù)據(jù)信息做分詞操作,返回指定個數(shù)的 TF-IDF 權(quán)重最大的關(guān)鍵詞;提起關(guān)鍵詞使用逆向文件頻率(IDF)文本語料庫或自定義文本庫,自定義文本庫是指自己自定義的詞典,包含詞庫中未包含的詞,雖然有新詞識別能力,但是自行添加新詞可以保證更高的正確率。

需要分詞的字符串;cut_all 參數(shù)用來控制是否采用全模式;HMM 參數(shù)用來控制是否使用 HMM 模型。

待分詞的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建議直接輸入 GBK 字符串,可能無法預(yù)料地錯誤解碼成 UTF-8。

返回的結(jié)構(gòu)都是一個可迭代的 generator,可以使用 for 循環(huán)來獲得分詞后得到的每一個詞語(unicode)。

其中,基于TF-IDF算法的關(guān)鍵詞抽取,具體事例如下:

USAGE = "usage: python extract_tags.py [file name] -k [top k]"

parser = OptionParser(USAGE)

parser.add_option("-k", dest="topK")

opt, args = parser.parse_args()

if len(args) < 1:

print(USAGE)

sys.exit(1)

file_name = args[0]

if opt.topK is None:

topK = 10

else:

topK = int(opt.topK)

content = open(file_name, 'rb').read()

tags = jieba.analyse.extract_tags(content, topK=topK)

print(",".join(tags))

(4)、調(diào)整詞語序列;

(5)、在excel或文檔指定data中設(shè)置數(shù)據(jù)變量,形成高低分解模式,基于高低分解模式展示圖表,圖表展示還可以采用html和flash格式。

該方法使用過程中還包括如下步驟:

①、加載工作表并解析,具體事例如下:

app.get('/', function (req, res) {

var obj = xlsx.parse('jfls.xlsx');

//第一個工作表的數(shù)據(jù)

var data = obj[0].data;

var results = data.map(function(item) {

if (item[2]) {

return node.cut(item[2]);

}else {

return [];

}

});

var sumResult = [];

for (var i = 0; i < results.length; i++) {

for (var j = 0; j < results[i].length;j++) {

sumResult = sumResult.concat(results[i][j]);

}

}

// console.log(result);

res.send(JSON.stringify(sumResult));

});

app.use(express.static('public'));

app.listen(3000, function () {

console.log('Example app listening on port 3000!');

})。

②、加載數(shù)據(jù)并啟動服務(wù),具體事例如下:

function createRandomItemStyle() {

return {

normal: {

color: 'rgb(' + [

Math.round(Math.random() * 160),

Math.round(Math.random() * 160),

Math.round(Math.random() * 160)

].join(',') + ')'

}

};

}

function generateWordCloud(data) {

var mergedData = mergeData(data);

console.log(mergedData);

var option = {

title: {

text: '自定義標(biāo)簽',

link: ' '

},

tooltip: {

show: true

},

series: [{

name: 'Google Trends',

type: 'wordCloud',

size: ['100%', '100%'],

textRotation : [0, 45, -45],

textPadding: 0,

autoSize: {

enable: true,

minSize: 14

},

data: mergedData

}]

};

var my = e.init(document.getElementById('test'));

my.setOption(option);

}

function mergeData(data) {

var result = {};

data.forEach(function(item) {

if (result.hasOwnProperty(item)) {

result[item] = result[item] + 1;

}else {

result[item] = 1;

}

});

var optionData = [];

for (var key in result) {

if (key !== ',' && key.length >= 2 && result[key] > 3) {

optionData.push({

name: key,

value: result[key],

itemStyle: createRandomItemStyle()

});

}

}

return optionData;

}

$.ajax({

type: 'GET',

url: 'http://localhost:3000/',

dataType: 'JSON',

data: {},

success: generateWordCloud

})。

通過上面具體實施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的一種具體實施方式。在公開的實施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實現(xiàn)不同的技術(shù)方案。

除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
鲜城| 虎林市| 石首市| 呼玛县| 阜阳市| 望江县| 五大连池市| 多伦县| 澎湖县| 遂川县| 治县。| 西乌| 红原县| 金昌市| 宝山区| 普陀区| 巴马| 郎溪县| 托克逊县| 密云县| 天峨县| 武宁县| 施甸县| 罗江县| 宁河县| 寿阳县| 景谷| 十堰市| 鸡西市| 藁城市| 桐梓县| 忻城县| 蒙城县| 抚顺市| 建湖县| 华宁县| 西充县| 祁门县| 讷河市| 同心县| 裕民县|