2016-09-27 17 views
-1

JSONファイルからいくつかの値を取り出そうとしていますが、動作していないようです。さらに、印刷文を追加してどこが爆発しているかを確認しようとすると、何も印刷されません。誰にもこれがうまくいかない眩しい理由を見ることができますか?私が考えることができるのは、最近私がPCからMacに切り替わったという事実と関係があり、ファイルはtxtではなくrtfとして保存されているということだけです。あなたはJSONモジュールとそれをロードしようとし、その後、Pythonスクリプトのディレクトリにf_nという名前の空のファイルを作成して開くのでJSONファイルからの応答の取得

import glob2 
import json 

fdr = glob2.glob('/Users/Lab-Justin/Desktop/CogStylesText/TextFiles/*.rtf') #insert all rtf files in folder into list 

for dr in fdr:  #loop through file list 
    print(dr) 
    ending = str(dr[57:])  #cut filename from pathname 
    pe = ending.replace('.rtf', '') #add filename to path 
    f_quest = '/Users/KraemerLab-Justin/Desktop/CogStylesText/CogStylesExcel/QuestEx/' + pe + '.csv'  #format the file as csv 
    f_n = '/Users/Lab-Justin/Desktop/CogStylesText/TextFiles/' + pe   #access rtf file 
    print(f_n) 

    file_path = 'f_n' 
    file_out = 'f_quest' 
    with open(file_path) as f_in, open(file_out) as f_out: 
     data = json.load(f_in) 
    print(data.keys()) # list the dicts keys 

    q = 'vviq' 
    response = data[q]['response'] 
    f_out.write('response') #write responses to new .csv file 
+0

ここで、sqlはこれですか? –

+1

「SQL」ではなく「JSON」を意味すると思いますか?これらは非常に異なるものです – roganjosh

+0

権利は、ファイルもSQLサーバーに格納されています。混乱をおかけして申し訳ありません。 – DartmouthDude82

答えて

1

あなたのコードは何も出力しません。

これらは、文字列リテラルに割り当てられた変数であり、前に定義した変数ではありません。

file_path = 'f_n' 
file_out = 'f_quest' 

これらは、私はあなたが後でを開くために欠けていると仮定し、システム上のパス

f_quest = '/Users/KraemerLab-Justin/Desktop/CogStylesText/CogStylesExcel/QuestEx/' + pe + '.csv'  #format the file as csv 
f_n = '/Users/Lab-Justin/Desktop/CogStylesText/TextFiles/' + pe   #access rtf file 

に割り当てられている変数ですか?そうであれば、前者の変数は完全に無意味です。そして、これらの変数をopen()に与えるべきですが、変数名を引用しないでください。

また、あなたがwithの下に意図されるべきである、あなたがf_out.write('response')を行うにしようとしたときにことを修正したい場合がありますので、モードを読んでそれ以外のファイルは閉じられ、再び'response'するopen()デフォルトは単語の文字列リテラルであります前の行で割り当てたresponse変数ではありません。

+0

本当にありがとうございますcricket_007 !! – DartmouthDude82

+0

投稿の横にあるチェックマークを使って回答を受け入れると –

関連する問題