【Python】リスト型の変数をそのまま外部ファイルに書き込み/読み出しするサンプルコード
リストを外部ファイルに保存する
Pythonにおいて多用されるリスト型の変数を簡単に外部ファイルに書き込み/読み出しする方法をご紹介します。
joblibを使う方法
メリット
・リスト変数をそのまま保存できる。
Pythonで読み書きするだけの目的であればjoblib(またはpickle)を使うと良い。
デメリット
・文字コードが変換されるので保存されたファイルを人の目で直接読むことは出ない。
・内容が大きくなりすぎると速度が低下し、ファイルサイズも大きくなりがちである。
Pythonの変数を一時書き出ししておく「joblib」と「pickle」を徹底的に比較する。 - なろう分析記録
サンプルコード
joblibで書き出し
import sys sys.setrecursionlimit(10000)#エラー回避 import joblib import random #一時的に数値を保存する用 temp_list=[] #乱数を一時リストに書き込み for i in range(100): a = random.uniform(1, 10)#適当な乱数 temp_list.append(a)#リストに追加 #書き出し処理 joblib.dump(temp_list, "temp.txt",compress=3)
joblibで読み込み
import sys sys.setrecursionlimit(10000)#エラー回避 import joblib import random #一時的に数値を保存する用 temp_list=[] #読み込み処理 temp_list = joblib.load( "temp.txt") print(temp_list)
PandasでCSVに保存する方法
Pandasの様々な機能を使うことでPython内で作業しやくすくなるため、今回はPandasを介しての作例を紹介します。
メリット
・CSVはエクセルをはじめ、他のプログラムでも読める。
・Pandasのデータフレームを使うことでmatplotlibやwordcloudなど様々なpythonプラグインとそのまま連携出来るようになる。
サンプルコード
CSVに書き込み
import pandas as pd #一時的に数値を入れるリスト temp_list=[] #リスト for i in range(100): a = random.uniform(1, 10)#適当な乱数 temp_list.append(a)#リストに追加 #Pandasのデータフレームにリストを格納 df = pd.DataFrame(temp_list) #書き出し df.to_csv('temp.csv', mode='w') print(df)