Pythonでテキストデータを読み書きしてみた!

プログラミングの勉強

 今回は、計算内容はPythonで微小振幅波の波長を繰り返し収束計算してみた!のプログラムと同じですが、入出力にテキストファイルを使用しました。テキストファイルの入出力方法にも種々あるようですが、まずは1つのパターンを覚えておいて、必要に応じて応用していけば良いかなと思います。

インプットファイルの作成

 インプットファイルはメモ帳で作成しました。文字コードUTF-8で書いてプログラムと同じフォルダに保存しておきます。

 ”数値の内容入力データ”というようにデータをで区切る形式で記入しています。

プログラムの書き換え

Pythonで微小振幅波の波長を繰り返し収束計算してみた!の プログラムの入出力部分に、テキストファイルの読み書きを書き加えました。

ファイルの読み込み手順はつぎのようです。

  1. ファイルを読み込みモードで開き、ファイル変数”f1”に取得
  2. ファイル変数”f1”の中身を1行ずつ変数”line”に読み込む
  3. 数値の内容に応じて計算データとして代入
  4. ファイルを閉じる

 書き込み手順は

  1. ファイルを書き込みモードで開き、ファイル変数“f2”とおく
  2. ファイル変数“f2”にデータを書き出す
  3. ファイルを閉じる

ファイルを開く

  • 読み込み時:open(ファイル名,mode=’r’,encoding=文字コード
  • 書き込み時:open(ファイル名,mode=’w’,encoding=文字コード

1行ずつ文字列として読み込む

for 文字列変数 in ファイル変数:

この例では文字列変数”line”、ファイル変数”f1”と”f2

記号で分割してリストデータに格納

リストデータ名 = 文字列変数.split(‘分割記号‘)

この例では2個の文字列からなるリストデータ”datas”、分割記号””としています。

なお、テキストデータは文字列として読み込むので、計算上の変数に入れる場合は”float”などの数値への変換が必要です。

ファイルへの書き込み

ファイルオブジェクト=write(printと同様な書式+\n)

\nは改行を表します。

ファイルを閉じる

ファイル変数.close()

プログラムの実行

同じディレクトリーにinput.txtとプログラム.pyを格納しておきます。プログラムを実行すると、同じディレクトリーにoutput.txtが出力されます。

PowerShellでプログラムを実行した際の画面です。

output.txt内につぎのような内容が書き込まれています。

テキストファイル読み書きのまとめ

今回はPythonで微小振幅波の波長を繰り返し収束計算してみた!のプログラムの入出力をテキストデータで実施してみました。

数行のコマンドを用いるだけで簡単に実施できました。ただし、データの読み書きは文字列で行われる点に注意が必要です。

次回はもう少し大きなデータを読み込んで図化するまでを勉強したいと思っています。

コメント

タイトルとURLをコピーしました