トップページに戻る

データ変換プログラム (filter)

公開対象: D2MatE拠点、神谷・片瀬研究室

注: 本ページは2023/8以前の古い仕様です


必要ファイル:
・ tklib (必要ないプログラムもあります)


参考プログラム

以下の参考プログラムが mdx_conv\filter に入っています

  1. json2json.py
     JSONファイルを見やすく整形したJSONファイルに変換
     tklibを使用しない。
    一番単純なtemplate
    JSONファイル読み書きの例

     
  2. xml2json.py
     XMLファイルをJSONファイルに変換
      XML => 辞書型変数への変換に xmltodict モジュールを使用
     tklibを使用しない
    一番単純なtemplate
    JSONファイル読み書きの例

     
  3. ZEM3_conv.py
     アドバンス理工 ZEM-3のデータを変換、グラフ描画
     tklibを使用しない。グラフ描画があるので若干複雑
      
  4. poscar2json.py
     VASP POSCARファイルをJSONファイルに変換
      必要モジュール: spglib, tklib
        tklib.tkcrystal.tkCrystalを結晶構造クラス、tklib.tkcrystal.tkVASPをVASPファイルハンドラーとして利用
      出力: 拠点標準JSON (仮)
     
     
  5. cif2poscar.py
     CIFファイルをVASPのPOSCARファイルに変換。
     tklibを利用
     tklib.tkcrystal.tkCIF、tklib.tkcrystal.tkCrystalを結晶構造クラス、tklib.tkcrystal.tkVASPをVASPファイルハンドラーとして利用
     CIFファイル読み込みの例
     
  6. vasp2json.py
     VASPの計算結果のフォルダーからファイルを読み込み、JSONファイルに変換。
     tklibを使用
     tklib.tkcrystal.tkCIF、tklib.tkcrystal.tkCrystalを結晶構造クラス、tklib.tkcrystal.tkVASPをVASPファイルハンドラーとして利用
     外部プログラムファイルの読み込みの例
  7. ARPESConv_pxt.py
      KEK ARPESのバイナリファイルをテキストファイルに変換
     tklibを利用
     バイナリファイル読み込みの例
     

プログラム仕様

修正

 

 以下の関数を用意しておくと、将来的にmdx_conv_gui.pyから利用できるようになります。
なお、各関数で app, cparams の引数がありますが、必要なければ無視してください。以下の使い方ができます。
 ・ tklib を使う場合は、それぞれ tkApplication、tkParams のインスタンスです。
   tkApplicationを使うと、多国語対応 や他プログラムとの共通機能の拡張が(将来)容易になりますが、ファイル変換プログラムでの必要性は高くはありません。
 ・ それ以外の場合でも、各関数に付帯情報を渡したい場合、cparams を使って渡してください。

 

呼び出し例

   inf = read_data(infile)
   print_data(inf)

   if outfiles is None:
       outfiles = get_output_path(infile, inf = inf)
 
  inf = read_data(infile,)
  outfiles = get_output_path(infile)
  print_data(inf)
  save_data(outfiles, inf)
  plot_data(inf)

使用方法

  1. 準備:
    ・ 拠点・研究室の共有フォルダーから以下をダウンロードして、適当なディレクトリィに展開します。
     適当なドライブのルートに \tkProg をつくり、その下に tklib、tkprog_MDX あるいはtkprog_COE をコピーすることをお勧めします。
     tkProgのディレクトリィを [tkProg]、tkprog_MDX/tkprog_COE を [tkprog_XXX] と書きます。
      tkProg\tklib
       tkProg\tkprog_MDX\mdx_conv (拠点メンバーの場合)
       tkProg\tkprog_COE\mdx_conv (まだ未公開。研究室メンバーの場合)
    ・ 環境変数 PYTHONPATH に [tkProg]\tklib\python を追加する。
     
  2. カレントディレクトリィを 「tkprog_XXX]¥mdx_conv\filter に変更します。
    [tkprog_XXX] が D: ドライブにある場合の例。
     > d:
     > cd [tkprog_XXX]\mdx_conv\filter
     
  3. このディレクトリィにあるプログラムは、CLIで動きます。
    例:  python ARPESConv_pxt.py 入力ファイル 出力ファイル
     
  4. これらのプログラムは、 GUI mdx_conv\mxd_conv_gui.py から利用できるようにします

インストール方法

Python、エディタのインストール condaあるいはpipのインストールで "OpenSSLエラー" が起こった場合、
> conda/pip install openssl
でOpenSSL モジュールをインストールしてください。
参考: 【Anaconda】ライブラリのインストール時にOpenSSLに関するエラーが発生してしまう場合の対処法について - 天下一反省会!
  1. XMLを辞書型変数に変換する xmltodict をインストールします
      > conda install xmltodict
     
  2. matplotlibをインストールします
      > conda install matplotlib
     
  3. pandasをインストールします
      > conda install pandas
     
  4. openpyxlをインストールします
      > conda install openpyxl
     

tklib / bayes_gp_gui.py を使う場合

  1. chardetをインストールします
      > conda install chardet
     
  2. tkinterをインストールします
     > conda install tkinter

tclライブラリィが見つからないというエラーが出た場合、環境変数に
TCL_LIBRARY=C:\Pythonインストール先\tcl\tcl8.6
を設定してください

tklibのインストール

  1. 拠点・研究室の共有フォルダーから以下をダウンロードして、適当なディレクトリィに展開します。
    適当なドライブのルートに \tkProg をつくり、その下に tklib、tkprog_MDX あるいはtkprog_COE をコピーすることをお勧めします。
    tkProgのディレクトリィを [tkProg]、tkprog_MDX/tkprog_COE を [tkprog_XXX] と書きます。
     tkProg\tklib
     tkProg\tkprog_MDX¥PHYSBO (拠点メンバーの場合)
     tkProg\tkprog_COE¥PHYSBO (研究室メンバーの場合)
     
  2. 環境変数 PYTHONPATH に [tkProg]\tklib\python を追加する。