我正在使用python库pandaSDMX
从OECD数据库中提取整个数据集,并将其转换为CSV格式(任何可读格式都可以,因为我希望将最终输出放在SQL数据库中)
要访问SDMX Json格式(还有SDMXML格式)的OECD数据集,您可以在浏览器上粘贴如下链接:
http://stats.oecd.org/sdmx-json/data/PART2/all/all
Note: 'PART2' is the name of the dataset
问题是,有些经合组织数据集的SDMX Json没有一个名为Time\u Period的维度,而我发现的所有SDMX Json解析python库都只解析具有该维度的SDMX Json
我还试图找到一些可以解析SDMXML(SDMX-ML)文件的python库(也可以),但是用python构建这个过程对我来说不起作用
下面是我用来解析SDMX Json数据集并在Azure blob存储上写入输出CSV文件的代码片段:
# itera sob cada ficheiro json e converte o conteudo para csv
for dataset in datasetList:
cursor = cnxn.cursor()
Values = [dataset, datasetFiltersList[counter]]
cursor.execute(SQLLogCommand, Values)
cnxn.commit()
#logging.info('Analysing dataset: ' + dataset)
try:
data_response = oecd.data(resource_id=dataset, key=datasetFiltersList[counter])
except UnicodeDecodeError:
Values = [datetime.today().strftime('%Y-%m-%d-%H:%M:%S'), 'Unicode Decode Error - Error', 0]
cursor.execute(SQLUpdateCommand, Values)
cnxn.commit()
except KeyError:
Values = [datetime.today().strftime('%Y-%m-%d-%H:%M:%S'), 'Key Error - Error', 0]
cursor.execute(SQLUpdateCommand, Values)
cnxn.commit()
else:
data = data_response.data
if data.dim_at_obs == 'TIME_PERIOD':
df = createDF(data, useIDs=False)
blobService.create_blob_from_text(CONTAINERNAME, csvBlobPath + dataset + '.csv' , df.to_csv(index=False, sep='|', encoding='utf-8'))
Values = [datetime.today().strftime('%Y-%m-%d-%H:%M:%S'), 'Success', 1]
cursor.execute(SQLUpdateCommand, Values)
cnxn.commit()
#logging.info('Dataset ' + dataset + ' analysed!')
else:
print('no time period error on dataset: ' + dataset)
Values = [datetime.today().strftime('%Y-%m-%d-%H:%M:%S'), 'No Time Period - Error', 0]
cursor.execute(SQLUpdateCommand, Values)
cnxn.commit()
cnxn.close()
所以,我的最后一个问题是:
Does anyone know a way to parse SDMX-Json files that not have a Time_Period dimension? Or other way to extract automatically a entire dataset from OECD and parse it...
例如:
包^{} (改进的
pandaSDMX
分支)没有您描述的限制,可以用于检索和解析此数据版本2.5.0还处理了这一特定OECD数据的一个特性:消息的结构部分描述了每次观察的时间格式(注意,不是时间周期)属性,但观察实际上并不包括此属性
相关问题 更多 >
编程相关推荐