2017-02-25 20 views
0

如何讀取xlsx中的特定列數據並將其更新爲python中的js文件?

// Morris.js Charts sample data for SB Admin template 
 

 
$(function() { 
 

 
    $('input[name="daterange"]').daterangepicker(); 
 
// Area Chart Resumes 
 
    Morris.Area({ 
 
     element: 'morris-area-chart-2', 
 
     data: [{ 
 
      
 
     period: '2016-08', 
 
     company0: 524252, 
 
     company1: 0, 
 
     company2: 68076, 
 
     company3: 11745, 
 
     company4: 0, 
 
\t company5: 4896, 
 
\t 
 
     }], 
 
     }); 
 
// Area Chart JDs 
 
    Morris.Area({ 
 
     element: 'morris-area-chart', 
 
     data: [{ 
 
      
 
\t { 
 
\t  period: '2016-08', 
 
     company0: 524252, 
 
     company1: 0, 
 
     company2: 68076, 
 
     company3: 11745, 
 
     company4: 0, 
 
\t company5: 4896, 
 
\t }], 
 
     
 
    }); 
 

 

enter image description here問題:

1)首先,我想讀從 '總計簡歷' 列的數據。

2)讀取數據後,根據名稱更新.js文件中的數據。

如果行爲空,則用0值更新它。

這就是.js文件結構的樣子。

請參閱屏幕截圖以供參考

enter image description here

enter image description here

+0

什麼?你可以創建一個[最小,完整和可驗證](http://stackoverflow.com/help/mcve)示例。這使我們更容易幫助你。 –

+0

我想從xlsx文件中讀取數據並在'morris-data.js'文件中更新這些數據。 –

+0

我們可以轉換.xlsx文件爲.csv – shakeel

回答

0

我不認爲這是完美的,但它是工作

改變你的.xlsx文件,以CSV和運行代碼如下

def generate(company, val): 
    if(val == ''): 
     val = '0' 
    return '\t' + company + ' : ' + val + '\n' 
f = open('resume.csv', 'r') 
data = f.read().split('\n') 
result = '' 
for i in range(1, len(data)-1): 
    row = data[i].split(',') 
    result = result + generate(row[1], row[4]) 
print result 

js_file = open('data1.js').read() 
start = js_file.find('data: [{') 
while(start!=-1): 
    end = js_file.find('}],', start+1) 
    output = js_file[0:start] + 'data : [{\n' + result + js_file[end:] + '\n\t}],' 
    print output 
    output_file = open('data1.js', 'w').write(output) 
    js_file = open('data1.js').read() 
    start = js_file.find('data: [{') 

只有一次它會工作,如果你想下一次也

變化start = js_file.find('data: [{')start = js_file.find('data : [{')

output = js_file[0:start] + 'data : [{\n' + result + js_file[end:] + '\n\t}],' 

運行

output = js_file[0:start] + 'data: [{\n' + result + js_file[end:] + '\n\t}],' 

觀察data: [只是我改變空格data : [

如果你想一次又一次地改變。通過你會明白我認爲

我的.csv文件的代碼去檢查它與您的匹配與否

s.no,company,total job,cumulative,total resumes,resume cumulate 
1,company0,40079,4645,330,4543 
2,company1,,,,345 
3,company2,23250,5345,68076,3245 
4,company3,728,435,11745,3245 
5,company4,10,345,4896,345 
+0

部分,它的工作。我會繼續工作..如果我需要更多的幫助,我會聯繫你...謝謝 –

+0

它更新爲js文件,但價值觀不同..你可以告訴我爲什麼價值觀不同。此輸出我得到:公司名稱:總計簡歷 company0: 「9 公司1:2 Company2的:」 2 公司3:477「 公司4:5 company5:6 company6:0 –

+0

好了,隨時歡迎 – shakeel

相關問題