[英]python extract data from excel spreadsheet to json form
我想讓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)
好吧,如果您正在print
,為什么不將它們打包到一個數組中,其中array元素是一行,並且您有一個僅包含單個數組或僅包含數組的dict:
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顯然想要字典列表(其值也是列表):
tlist.append({'Design Sum': alist})
alist = [] # clear alist for next group
然后,您需要做的是: json_dumps(tlist)
將該對象轉換為json字符串...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.