jsonファイルに存在するパターンを見つけて抽出しようとしています。私はテストとしてこれを行う場合json.dumpsが文字列なるため、それは、見つけて、それを印刷しますregexを使ってpythonでjsonファイルのパターンを見つけ出して抽出する
my_mi = {"_links": {"self": {"href": "/xx-beta/media/111ee111-1e11-11a1-b111/metadata"}}}
new = json.dumps(my_mi)
my_id = re.findall(r'\w{1,9}\-\w{1,5}\-\w{1,5}\-\w{1,5}\-\w{1,13}',
new)
print my_id
問題は、私はJSONファイルとしてそれを使用しようとすると、私はトラブルを抱えているということです私は正規表現は、テストのように動作しますので、json.dumpsが文字列に変換思っ
with open ("resTwo.json", "r") as input_file:
new = json.dumps(input_file)
my_id = (re.findall(r'\w{1,9}\-\w{1,5}\-\w{1,5}\-\w{1,5}\-\w{1,13}', new))
print my_id
:それは次のように何をするかでエラー"TypeError: <open file 'resTwo.json', mode 'r' at 0x1109eee40> is not JSON serializable"
を、スローせずに動作すること方法でそれを変換します例?
を、私はそれが出て、それがこのようになっていることを印刷し得るとき: '{「_links」 {"href": "/ xx-beta/media/111ee111-1e11-11a1-b111-111bb11b0ada/metadata"}} 'だから、正規表現をそのフィールドにマッチさせたいなら、それをそれを行うことができるように文字列ですか?行を繰り返し処理しても、正規表現、つまり、findallが期待している文字列に対応する形式ではないのですか?ですから、私はregexの期待される構文と一致させるためにそれを行う方法についてもっと説明したいと思います。ありがとう。 – topplethepat
これはcsvファイルのようには見えません – wim
jsonですが、ファイルは元のスクリプトにcsvとして保存されます。それが最初にjsonだったなら、もっと簡単な解決策がありますか?私はjsonとしてそれを使って作業を試みましたが、正規表現が動作する文字列かそれを得ることに成功しませんでした。 – topplethepat