2016-11-23 2 views
1

取得したデータを1010 apiから次の形式に変換する方法です。1010 data api date time conversions

ストアドフォーマット:20161020 予想されるフォーマット:10月20日

私は1010dataクエリ自体でこれをやりたいです。

答えて

3

1010data APIとSDKは、データをフォーマットされていない状態に戻します。したがって、必要な形式でデータを返すためには、文字列操作を実行する必要があります。

<willbe name="string_date" value="splice(case(month(date_col);1;'Jan';2;'Feb';3;'Mar';4;'Apr';5;'May';6;'Jun';7;'Jul';8;'Aug';9;'Sep';10;'Oct';11;'Nov';12;'Dec';NA) day(date_col);' ')"/> 

あなたはここについてのすべての文字列操作関数読むことができます:あなたのケースでは、あなたが欲しいフォーマットを取得するには、次の構文を使用することができ、あなたが特定され、行ったら1010data String Functions

をしたい書式設定APIを使用してきれいなデータを取得できます。以下は、Python 2.7での完全なAPI呼び出しの例です。参考までに、1010data API Documentation

import urllib2 
from lxml import etree 

def post(url=None, body=None): 
    return urllib2.urlopen(urllib2.Request(url, body, headers={'Content-Type': 'text/xml'})).read().decode('utf-8') 

if __name__ == '__main__': 
    url = "https://www2.1010data.com/cgi-bin/prod-stable/gw.k?protocol=xml-rpc&apiversion=3&uid=UID" 
    response = post(url + "&pswd=PWD&api=login&kill=possess") 
    tree = etree.fromstring(response) 
    session = {} 
    for child in tree: 
     session[child.tag] = child.text 
    sessionurl = url + "&pswd=" + session['pswd'] + "&sid=" + session['sid'] + "&api=" 
    query = post(sessionurl + "query", 
       "<in><name>pub.doc.retail.salesdetail</name><ops><sel value=i_=1/><willbe name=\"string_date\" value=\"splice(case(month(trans_date);1;'Jan';2;'Feb';3;'Mar';4;'Apr';5;'May';6;'Jun';7;'Jul';8;'Aug';9;'Sep';10;'Oct';11;'Nov';12;'Dec';NA) day(trans_date);' ')\"/></ops></in>") 
    data = post(sessionurl + "getdata", 
       "<in><cols><col>string_date</col></cols></in>") 
+0

素晴らしい作品です –

関連する問題