Help us understand the problem. What is going on with this article?

PythonからJSON形式のファイルを作成する方法

More than 1 year has passed since last update.

Introduction

きっかけ

Pythonのリスト形式からJSON形式へ変換する必要があったので、JSON形式への変換方法について調べてみました。JSON形式のことはよくわかったいないので間違っている点等あればお気軽にご指摘いただければと思います。

自己紹介

smile.jpg

自己紹介ページ

環境情報
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ファイルでしか入力できないライブラリがあったのです・・・。

Sample.py
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形式って単に文字列なんですね。
今までは特殊な形式に保存されていると思い込んでいました。

Senple
PythonとJavaScriptを少々…。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away