2
2

More than 3 years have passed since last update.

Julia早引きノート[21]JSON、XMLファイルの入出力

Last updated at Posted at 2020-12-27

JSON、XMLファイルの入出力 (書き方例)

note21

JSONファイルの入出力
 # JSONモジュールの呼び出し
 using JSON

 # JSON形式ファイルの読み取り
 JSON.parsefile(ファイル名)

 # JSON形式の文字列として出力
 JSON.json(データ)


XMLファイルの入出力(EzXMLの例)
 # EzXMLモジュールの呼び出し
 using EzXML

 # XMLファイルの読み取り
 xml = readxml(ファイル名)

 # XMLルートノード取得
 xmlroot = root(xml)

 # ルートノードの名前を取得
 name = nodename(xmlroot) 

 # 子要素を取得
 children = elements(xmlroot)

 # 子要素の名前を取得
 children_name = nodename.(children)

解説

JSONファイルの入出力、XMLファイルの入出力それぞれについて解説します。

(1)JSONファイルの入出力

まず初めにJSONパッケージをインストールする必要があります。
Juliaのプロンプト画面で
 import Pkg;Pkg.add("JSON")
と入力します。
以下のようにインポートが実行されます。
image.png
JuliaでJSONファイルの読み取りを実行する場合、まず
 using JSON
と入力してJSONモジュールの呼び出しを行います。
image.png
次にJSONファイルの読み取りを実行しますが、ここでは以下のJSON形式ファイルの読み取りを実行しました。
image.png
そして、JSONファイルの読み取りコマンドを実行します。
 JSON.parsefile(ファイル名)
▼実行例
Screenshot from 2020-12-28 01-31-15.png
Dict型(辞書型)でJSONファイルの内容を読み取ることができました。

:large_blue_diamond: JuliaのDict型(辞書型)データをJSON形式の文字列に変換する

以下のようなDict型データを宣言し、JSON形式の文字列として出力するには、
 JSON.json(データ)
と入力します。
▼実行例
image.png

(2)XMLファイルの入出力

まず初めにXMLパッケージをインストールする必要があります。
XMLパッケージには、LightXML、EzXML、LibExpatなどがあります。
ここでは、EzXMLを参考に使用します。

Juliaのプロンプト画面で
 import Pkg;Pkg.add("EzXML")
と入力します。
以下のようにインポートが実行されます。
image.png
JuliaでXMLファイルの読み取りを実行する場合、まず
 using EzXML
と入力してEzXMLモジュールの呼び出しを行います。
image.png
次にXMLファイルの読み取りを実行しますが、ここでは以下のXML形式ファイル(test.xml)の読み取りを実行しました。
image.png
XMLの内容を読み取るには、以下のようなコマンドを実行します。
image.png
 ①xmlファイルを読み込みます。
 ②xmlルートノードを取得します。
 ③ルートノードの名前を取得します。
 ④子要素を取得します。
 ⑤子要素の名前を取得します。

EzXMLの機能や関数はこれ以外にもたくさんありますので、詳細は公式ドキュメントをご参照下さい。

 ▼EzXMLドキュメント(Github)
 https://github.com/JuliaIO/EzXML.jl

もくじ

Julia早引きノート[01]変数・定数の使い方
Julia早引きノート[02]算術式、演算子
Julia早引きノート[03]複素数
Julia早引きノート[04]正規表現
....

もくじを開く

Julia早引きノート[05]if文
Julia早引きノート[06]ループ処理
Julia早引きノート[07]try, catch, finally
Julia早引きノート[08]変数の型(Int, Float, Bool, Char, String)
Julia早引きノート[09]関数 (1)基本編
Julia早引きノート[10]関数 (2)応用編
Julia早引きノート[11]Nothing型
Julia早引きノート[12]複合型(Composite Type)型
Julia早引きノート[13]タプル
Julia早引きノート[14]リスト(Array型一次元配列)
Julia早引きノート[15]辞書(dictionary)
Julia早引きノート[16]集合
Julia早引きノート[17]多次元配列 (1)初期化
Julia早引きノート[18]多次元配列 (2)様々な演算や関数
Julia早引きノート[19]多次元配列 (3)サブ配列
Julia早引きノート[20]ファイル入出力
Julia早引きノート[21]JSON、XMLファイルの入出力
Julia早引きノート[22]Python関数やPythonモジュールの呼び出し
Julia早引きノート[23]JuliaでのMatplotlibによるグラフ描画
Julia早引きノート[24]CSVFiles(DataFrameとの連携)
Julia早引きノート[25]線形代数演算(ベクトル・行列計算)
(※引き続きコンテンツを増やしていきます)

関連情報

:paperclip: Julia - 公式ページ
https://julialang.org/

:paperclip: Julia - 日本語公式ドキュメント
https://julia-doc-ja.readthedocs.io/ja/latest/index.html

:paperclip: 初めてのJuliaとインストール (Windows & Linux)
https://qiita.com/ttlabo/items/b05bb43d06239f968035

:paperclip: Julia - Mathematics
https://docs.julialang.org/en/v1/base/math/

ご意見など

ご意見、間違い訂正などございましたらお寄せ下さい。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2