2016-07-07 7 views
1

ファイルパス文字列を入力としてPythonで関数を作成しました。関数はリストとデータフレームを返します。データフレームをワークスペースに保存するために関数を適切に呼び出す方法 コードは関数なしで完全に動作しますが、私はさらに計算のために出力が必要です。 私はデータフレーム全体を保存するだけでなく、その一部を保存します。オンラインソリューションを見つけられなかった、それは私が推測するにはあまりにも単純な単純です。前もって感謝します!関数出力(pandas DataFrameを含む)をPythonのワークスペースに保存します

FUNCTION:

def import_r_data(filepath): 

    r('load("{}")'.format(filepath)) 
    tmp_obj = r['tmp.obj'] 
    data = build_py_from_ro(tmp_obj) 
    dataframe = data['test1']['test2'] 

    column_list = list(dataframe) 
    return column_list 
    return dataframe 

通話機能:(エラーは、ここで発生したデータフレームの出力(左側)が誤って設定されている)

column_list, dataframe = import_r_data('filepathstring') 

ERROR:

ValueError: too many values to unpack (expected 2) 

EDIT:SOLUTION(おかげでアイハンとDeepSpaceする):

return column_list, dataframe 
+0

に変更する必要があります。return column_list以下の行は実行されません。タプルを返す場合は、 'return column_list、dataframe'を試してください。これはあなたのコードの実際の問題だとは思わないので、答えとして投稿していません。 – ayhan

+0

私のためにそれを解決しました、ありがとう! :)間違った返信ステートメントを見落とした... – NumbThumb

答えて

0
return column_list 
return dataframe 

あなたが最初のreturn文に関数リターンをヒットすると、第二return文は到達しません。

import_r_data単一のオブジェクトを返しますが、あなたはタプルにその単一の値を代入しよう:ラインcolumn_list, dataframe = import_r_data('filepathstring')ValueErrorを上げる理由です。

これらの2行をreturn column_list, dataframe

+0

さて、間違った側で検索し、これはそれを修正!うわー、ありがとう、ソリューションを探して一時間を無駄にした!そして、 "ayhan"にも感謝します。 :) – NumbThumb

関連する問題