2017-10-26 24 views
0

私はPythonにExcelのスプレッドシートからいくつかの値を抽出して、JavaScriptで処理するようにWebページに送信したいと考えています。これについて最善の方法についてどうやって行くのか分からない。 私はdictオブジェクトを作成し、これをjson形式のjsに戻すことを考えました。 Pythonは上から辞書またはJSONオブジェクトを作成有することPythonがExcelスプレッドシートのデータをjson形式に変換する

Design Lump Sum: 
design_cells[0].value, design_cells[1].value 
design_cells[0].value, design_cells[1].value 
design_cells[0].value, design_cells[1].value 
design_cells[0].value, design_cells[1].value 
design_cells[0].value, design_cells[1].value 
... 
.. 
. 
Capex Lump Sum: 
Capex_cells[0].value, Capex_cells[1].value 
Capex_cells[0].value, Capex_cells[1].value 
Capex_cells[0].value, Capex_cells[1].value 
Capex_cells[0].value, Capex_cells[1].value 
Capex_cells[0].value, Capex_cells[1].value 
... 
.. 
. 

任意の助けをたどるよう

基本的にExcelスプレッドシートから抽出された値になります。

、あなたがprint -ingなら、なぜ単に配列要素が行である配列、にそれらをパックしていない、よく

import xlrd 
import sys 
reload(sys) 
sys.setdefaultencoding('utf8') 
import json 
    book = xlrd.open_workbook("Glebe TE - Master Invoicing.xlsm") 
    first_sheet = book.sheet_by_index(1) 

    for i in range(12,19): 
     design_cells = first_sheet.row_slice(rowx=i, start_colx=2, end_colx=4) 

     if str(design_cells[0].value) and str(design_cells[1].value): 
      print str(design_cells[0].value) 
      print str(design_cells[1].value) 


    for i in range(22,155): 
     capex_cells = first_sheet.row_slice(rowx=i, start_colx=2, end_colx=4) 
     if str(capex_cells[0].value) and str(capex_cells[1].value): 
      print str(capex_cells[0].value) 
      print str(capex_cells[1].value) 


    for i in range(157,175): 
     Opex_cells = first_sheet.row_slice(rowx=i, start_colx=2, end_colx=4) 
     if str(Opex_cells[0].value) and str(Opex_cells[1].value): 
      j = j + 1 
      print str(Opex_cells[0].value) 
      print str(Opex_cells[1].value) 

答えて

0

、行の値を超えるその繰り返し処理の下に私の抽出コードを参照してくださいあなたは、配列の単一または単にアレイとの辞書を持っているし、次のいずれか

alist = []  
tlist = [] 

for i in range(12,19): 
    design_cells = first_sheet.row_slice(rowx=i, start_colx=2, end_colx=4) 
    if str(design_cells[0].value) and str(design_cells[1].value): 
     #print str(design_cells[0].value) 
     #print str(design_cells[1].value) 
     alist.append([str(design_cells[0].value), str(design_cells[1].value)] 

alist次のようになります。[ [0value, 1value], [0value, 1value],... ]

EDI T:ありがとう

+0

... json_dumps(tlist) JSON文字列にそのオブジェクトをオンにするが、私は必要があります。そして、あなたが必要とするすべてがある

tlist.append({'Design Sum': alist}) alist = [] # clear alist for next group 

:OPは明らかに(値も示していますされている)dictsのリストを望んでいます上記の例のようにネストされた値を持つように配列の値を指定すると、alistは次のようになります。[Design Lump Sum [[0value、1value]、[0value、1value] ..]、Capex Lump Sum:[[0value、1value] [0value、1value]、..]、OPEX一括合計:[[0value、1value]、[0value、1value] ..] – Ossama

+0

あなたの質問を更新してください(後世のために) – cowbert

関連する問題