我想让Python从excel电子表格中提取一些值并发送到网页以通过javascript进行处理。不知道如何去做这个最好的方法。 我想创建一个dict对象并以json形式将其返回给js。
基本上从excel电子表格中提取的值如下
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
...
..
.
让python从上面创建一个dict或json对象的任何帮助。
请参阅下面的提取代码,该代码迭代行值
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 :(得分:0)
好吧,如果你是print
,那么为什么不将它们打包成一个数组,其中数组元素是一行,并且你有一个带有单个或只是数组数组的dict: / p>
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],... ]
编辑:OP显然需要一个dicts列表(其值也是列表):
tlist.append({'Design Sum': alist})
alist = [] # clear alist for next group
然后您需要的是:json_dumps(tlist)
将该对象转换为json字符串......