0

ここに私のpythonモジュールがあります:

#!/usr/bin/python

import rpy2.robjects as robjects
import MySQLdb as mdb
import json
import rpy2.robjects.vectors as ro
r= robjects.r

class Deviation:
    def __init__(self):
        print("Standard Deviation")

    def s_deviation(self):
        con = mdb.connect('localhost', 'root', 'devil', 'data')        
        cursor = con.cursor()
        cursor.execute("SELECT * FROM traffic")
        rows = cursor.fetchall()
        rows = list(rows)
        a = [x[1] for x in rows]
        result = ro.IntVector(a)
        a = r.sd(result)
        print a

def deviation():
    dev = Deviation()
    deviation = dev.s_deviation()

このモジュールからの関数 Deviation() が呼び出されると、結果が R ベクトルとして返されます。これを Json オブジェクトとして返すにはどうすればよいですか? ありがとうございました!

4

1 に答える 1

1

json.dumpsorを使用simplejson.dumpsします (Python のバージョンによって異なります)。次のように使用します。

>> print( simplejson.dumps( { "dev": dev.s_deviation() } ) )
'{"dev":1.456}'
于 2012-08-29T08:47:14.900 に答える