Introduction
きっかけ
Pythonのリスト形式からJSON形式へ変換する必要があったので、JSON形式への変換方法について調べてみました。JSON形式のことはよくわかったいないので間違っている点等あればお気軽にご指摘いただければと思います。
自己紹介
環境情報
Python 3.6.5 |Anaconda, Inc.|
Windows10
対象者
・Python3系を使っているユーザー(Anacondaでインストール)
・Pythonの基本的なことは理解している方
・1を聞いて10を理解できるエンジニア
・Windowsの人
非対象者
・Python2系を使っているユーザー
・Pythonをまるで日本語のように扱える天才エンジニア
・説明下手な筆者を攻撃しようとするエンジニア
・Macの人
Cf.)Python2系とかPython3系の意味が分からない人へ!
Pythonには2系と3系があって、最近始めた人ならほとんどPython3系だと思います。一応バージョンを確認する方法を記載しておきます。
コマンドプロンプトでPythonのインタラクティブ(対話)モードを起動すればバージョン情報が表示されます。
$ Python
>Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
インタラクティブモードを辞めるにはexit()を入力しましょう!
Let's Start
Sample Code
Sample_list = [["a",1],["b",2],["c",3]]
をJSON形式へ変換する方法について述べていきます。
なおここでの想定は自然言語処理などをしているとしばしば直面する、文書の中にどんな単語がいくつ含まれているのかです。サンプルではaが1個、bが2個、cが3個という意味です。
jsonファイルでしか入力できないライブラリがあったのです・・・。
import json
Sample_list = [["a",1],["b",2],["c",3]]
with open('Sample.json', 'w') as f:
json.dump(Sample_list, f, ensure_ascii=False)
with open('Sample.json') as f:
print(f.read())
>>>[["a",1],["b",2],["c",3]]
Sample.json
というファイルを作成して、Sample_list
の内容を保存してくれます。
ensure_ascii=False
は日本語を文字化けさせないためのものです。今回はあまり関係ありませんが、日本語の自然言語処理に利用する方々には必須だと思います。
cf) jsonを日本語版で表示する方法(文字コードを訂正する方法)
ちなみに調べてみたのですが、JSON形式って単に文字列なんですね。
今までは特殊な形式に保存されていると思い込んでいました。