【发布时间】:2017-06-01 22:24:24
【问题描述】:
我正在使用以下代码从网页保存数据:
[...]
response = urllib2.urlopen(req)
the_page = response.read()
data_to_analyse = json.loads(the_page)
import datetime
datafile = open(str(datetime.datetime.now())+'_data.json','w')
datafile.write(str(data_to_analyse))
[...]
现在我尝试处理保存在数据文件中的数据,但我无法正确处理 json。
数据文件开始示例部分:
{
u'SiteRep': {
u'DV': {
u'type': u'Obs',
u'dataDate': u'2016-11-18T10:00:00Z',
u'Location': [
{
u'elevation': u'15.0',
u'name': u'BALTASOUND',
u'i': u'3002'
[and so on - file closes correct...]
在我可以简单地处理“data_to_analysis”之前:
for SiteRep in data_to_analyse:
for data_to_analyse_experience in data_to_analyse[SiteRep]:
一切正常。现在我收到错误:
**TypeError:** string indices must be integers, not str
如果我尝试使用该代码从文件中加载数据:
for datafile in os.listdir('.'):
if datafile.endswith('.json'):
data = open(datafile,'r').read()
jsondata = json.dumps(data)
或:
**ValueError:** Expecting property name: line 1 column 2 (char 1)
与:
jsondata = json.loads(data)
如何将文件转换成正确的json对象?
【问题讨论】: