Python 从JSON文件检索响应
我试图从JSON文件中提取一些值,但它似乎不起作用。此外,当我试图添加print语句以查看它在哪里爆炸时,什么也不打印。有人能看出这不起作用的明显原因吗?我能想到的唯一一件事是,这与我最近从一台PC机切换到Mac机有关,文件存储为rtf而不是txtPython 从JSON文件检索响应,python,json,Python,Json,我试图从JSON文件中提取一些值,但它似乎不起作用。此外,当我试图添加print语句以查看它在哪里爆炸时,什么也不打印。有人能看出这不起作用的明显原因吗?我能想到的唯一一件事是,这与我最近从一台PC机切换到Mac机有关,文件存储为rtf而不是txt import glob2 import json fdr = glob2.glob('/Users/Lab-Justin/Desktop/CogStylesText/TextFiles/*.rtf') #insert all rtf file
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
您的代码没有输出任何内容,因为您在python脚本的目录中创建并打开了一个名为
f_n
的空文件,然后尝试用json模块加载它
这些是分配给字符串文字的变量,而不是您以前定义的变量
file_path = 'f_n'
file_out = 'f_quest'
这些是分配给系统上的路径的变量
我想你是想晚一点开门吧?如果是这样,那么前面的变量就完全没有意义了。您应该将这些变量赋给open()
,但不要引用变量名
另外,
open()
默认为读取模式,因此当您尝试执行f_out.write('response')
时,可能需要修复该问题,该问题应在下使用,否则文件将关闭,并且'response'
是单词“response”的字符串文字而不是您在前一行中指定的response
变量这里的sql在哪里?我想您指的是“JSON”而不是“sql”?这些都是非常不同的东西。对了,这些文件也存储在SQL server上。抱歉搞混了。非常感谢你!!
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