我正在json文件中写一个字典,我创建了一个函数来读取json并将其发送到html文件。我的问题是,它实际上并没有写字典。我真的需要帮助,因为经过大量的思考和搜索,我无法找到我做错的事。
我在一个名为queries
的文件中创建字典dict_scan_data = scan_data.to_dict(orient='records')
data_load ={}
data_load['noscan'] = dict_scan_data
return json.dumps(data_load)
def updateJsonFiles():
f = open('../site/json/data.json', 'w')
f.write(calcProductionAsJSON())
f.close()
# updateJsonFiles()
我做了这样的读取功能:
import json
from queries import calcProductionAsJSON
def GetProductionTotals():
"""
Return the production data as json
"""
f = open('../site/json/data.json', 'r')
data = f.read()
f.close()
return json.dumps(data)
def GetProductionTotalsLive():
"""
Return the production data as json
"""
return calcProductionAsJSON()
在html中:
<tr ng-repeat="item in data">
<td>{{ item.Masina }}</td>
<td>{{ item.Productie }}</td>
<td>{{ item.Scanned }}</td>
<td>{{ item.Delta }}</td>
</tr>
我是python的新手,很抱歉,如果这个问题看似简单或愚蠢
答案 0 :(得分:1)
json.dumps从python dict中生成字符串(JSON) json。加载加载字符串(JSON)到dict
示例(python 2.7.6)
library(tidyverse)
nm1 <- c("A", "C", "D", "E", "F", "G")
split(df1, cumsum(grepl("[A-Z]", df1$X))) %>%
map(~ if(any(grepl("[A-Z]", .$X))) {
names(.) <- unlist(.[1,])
.[-1,]
} else .) %>%
map(~ .[names(.) != ""]) %>%
bind_rows %>%
group_by(Keg) %>%
summarise_at(vars(nm1), funs(sum(as.numeric(.), na.rm = TRUE)))
# A tibble: 7 x 7
# Keg A C D E F G
# <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#1 123F 1 0 0 0 0 0
#2 134E 0 0 0 0 1 0
#3 13CD 0 0 0 0 1 0
#4 234B 0 0 0 0 0 1
#5 234F 0 0 0 1 0 0
#6 ABCD 0 1 0 0 0 0
#7 DCEF 0 0 1 0 0 0
所以在GetProductionTotals中你应该调用json.loads(data)
答案 1 :(得分:1)
我认为在GetProductionTotals()中,它应该返回json.loads(data)而不是json.dumps(data),因为json.dumps返回一个字符串,而json.loads从传递给它的字符串返回json。 / p>