【发布时间】:2020-09-11 21:41:14
【问题描述】:
我的代码中有一些变量类型有问题。我现在得到的错误是:
TypeError: can't convert type 'str' to numerator/denominator
有问题的代码行如下:
valor_anual[data[0]['Dados'][json_date][0]['geodsg']][year_code] = statistics.mean(valor_mensal_aux)
这是我的代码的 sn-p,可以为你们提供上下文:
valor_anual = [0][0]
for city_code in city_codes:
for year_code in year_codes:
valor_mensal_aux = []
for month_code in month_codes:
url_imob = Request(
"https://www.ine.pt/ine/json_indicador/pindica.jsp?op=2&varcd=0010042&Dim1=S3A" + year_code + \
month_code + "&Dim2=" + city_code + "&Dim3=T&lang=PT", headers={'User-Agent': 'XYZ/3.0'})
json_date = year_code + month_code
response = urlopen(url_imob)
data = json.loads(response.read())
valor_mensal_aux.append(data[0]['Dados'][json_date][0]['valor'])
valor_anual[data[0]['Dados'][json_date][0]['geodsg']][year_code] = statistics.mean(valor_mensal_aux)
python_imob = Imob(year_code, valor_anual[city_code][year_code], data['DataUltimoAtualizacao'],
data['Dados'][json_date]['geodsg'])
session.add(python_imob)
session.commit()
session.close()
imobs = session.query(Imob).all()
我从中获取数据的 JSON 具有以下结构:
[ {
"IndicadorCod" : "0010042",
"IndicadorDsg" : "Valor mediano de avaliação bancária (€/ m²) por Localização geográfica (Município - 2013) e Tipo de construção; Mensal - INE, Inquérito à avaliação bancária na habitação",
"MetaInfUrl" : "https://www.ine.pt/bddXplorer/htdocs/minfo.jsp?var_cd=0010042&lingua=PT",
"DataExtracao" : "2020-06-29T15:55:51.640+01:00",
"DataUltimoAtualizacao" : "2020-06-29",
"UltimoPref" : "Maio de 2020",
"Dados" : {
"202005" : [ {
"geocod" : "1701106",
"geodsg" : "Lisboa",
"dim_3" : "T",
"dim_3_t" : "Total",
"valor" : "3084"
} ]
}
} ]
【问题讨论】:
-
您好,我的回答对您有帮助吗?
-
有什么更新吗?你能解决这个问题吗?
-
对不起,我正在度假,今天回来了。实际上,我遇到了类似这样的错误,我可能需要更多帮助才能让我的代码正常工作,我想我正在写一篇新文章..