1
取得したデータを1010 apiから次の形式に変換する方法です。1010 data api date time conversions
ストアドフォーマット:20161020 予想されるフォーマット:10月20日
私は1010dataクエリ自体でこれをやりたいです。
取得したデータを1010 apiから次の形式に変換する方法です。1010 data api date time conversions
ストアドフォーマット:20161020 予想されるフォーマット:10月20日
私は1010dataクエリ自体でこれをやりたいです。
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>")
素晴らしい作品です –