2017-10-28 26 views
1

以下のように一重引用符を削除して、1つの文字列オブジェクトのリストに並んだ1つの辞書オブジェクトのリストとして認識させるにはどうすればよいですか?それがリストであるとすれば、pd.replaceは使用できません。Pythonで辞書のリストから引用符を削除する

['{"PLAYER":"Player Name","SALARY":"0000.00","OPP":"CI","POS":"BR","TEAM":"IT","SCHEDULE_ID":"40623","PLAYERID":"12322","GP":"5","TAR":"64","RZTAR":"6","POW TAR":"32.99%","WEEK 2":"11","WEEK 3":"14","WEEK 4":"9","WEEK 5":"19","ARDS":"545","YPT":"8.52","REC":"40","REC RATE":"62.50%"}'] 
+0

のためにあなたがリストを持っていません辞書;あなたは文字列のリストを持っています。文字列はJSON値のように見えますが、これを辞書にデコードできます。あなたはそれがどのように解釈されるべきかを確かめるために、文字列の元を知る必要があります。 – chepner

+0

私は辞書のリストを持っていないことを知っています。辞書のリストが私の目標でした。それを行う方法は@ Ajax1234が以下に答えた私の質問でした。私はその文字列のリストを辞書として見たいと思っていました。これを行うために、リスト内の各辞書の前後にある一重引用符を削除する必要がありました。 「ast」ソリューションは完全に機能しました。 – toussaint31

答えて

1

あなたはast.literal_evalを使用することができます。

import ast 
s = ['{"PLAYER":"Player Name","SALARY":"0000.00","OPP":"CI","POS":"BR","TEAM":"IT","SCHEDULE_ID":"40623","PLAYERID":"12322","GP":"5","TAR":"64","RZTAR":"6","POW TAR":"32.99%","WEEK 2":"11","WEEK 3":"14","WEEK 4":"9","WEEK 5":"19","ARDS":"545","YPT":"8.52","REC":"40","REC RATE":"62.50%"}'] 
final_s = [ast.literal_eval(i) for i in s] 

出力:

[{'SALARY': '0000.00', 'REC RATE': '62.50%', 'OPP': 'CI', 'YPT': '8.52', 'TAR': '64', 'GP': '5', 'PLAYERID': '12322', 'WEEK 3': '14', 'POS': 'BR', 'ARDS': '545', 'WEEK 2': '11', 'PLAYER': 'Player Name', 'SCHEDULE_ID': '40623', 'POW TAR': '32.99%', 'WEEK 4': '9', 'TEAM': 'IT', 'RZTAR': '6', 'REC': '40', 'WEEK 5': '19'}] 
+0

この溶液は完全に機能した。私は次のステップを簡単に完了できました。これは(現在の)辞書のリストをデータフレームに変えることでした。 – toussaint31

0

だけ(のevalを使用)目的

s=['{"PLAYER":"PlayerName","SALARY":"0000.00","OPP":"CI","POS":"BR","TEAM":"IT","SCHEDULE_ID":"40623","PLAYERID":"12322","GP":"5","TAR":"64","RZTAR":"6","POW TAR":"32.99%","WEEK 2":"11","WEEK 3":"14","WEEK 4":"9","WEEK 5":"19","ARDS":"545","YPT":"8.52","REC":"40","REC RATE":"62.50%"}'] 

s = [eval(item) for item in s] 
関連する問題