pythonデータをTXTに保存して読み込み

2139 ワード

pythonのデータをテキストファイルに保存するには、numpy形式のデータとlistのデータの2つに分けられます.
numpy
numpyフォーマットは比較的簡単で、2つの関数しか必要ありません:np.savetxt(path+filename, data)
np.loadtxt(path)は、特に要求がなければ、上記の関数およびパラメータに従って保存および読み取りを実現することができる.
他の要件がある場合は、関数定義を参照してください.
保存:
def savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='
', header='', footer='', comments='# ', encoding=None): """ Save an array to a text file.
Parameters
----------
fname :    

X :       .

fmt :     

delimiter :         ,        

newline :         ,        

header :    ,      ,        

footer :      ,      

comments :   ,      

encoding :  ,    

読み込み:
def loadtxt(fname, dtype=float, comments='#', delimiter=None,
            converters=None, skiprows=0, usecols=None, unpack=False,
            ndmin=0, encoding='bytes', max_rows=None):

パラメータは類似して保存され、パラメータ設定を使用して一致したままマージされます.
List
TXTに保存
def Save_list(list1,filename):
    file2 = open(filename + '.txt', 'w')
    for i in range(len(list1)):
        for j in range(len(list1[i])):
            file2.write(str(list1[i][j]))              # write     int     ,    str()  
            file2.write('\t')                          #    Tab  ,      
        file2.write('
') # file2.close()

Listに読み込む
def Read_list(filename):
    file1 = open(filename+".txt", "r")
    list_row =file1.readlines()
    list_source = []
    for i in range(len(list_row)):
        column_list = list_row[i].strip().split("\t")  #    split      
        list_source.append(column_list)                #       list_source
    for i in range(len(list_source)):  #   
        for j in range(len(list_source[i])):  #   
            list_source[i][j]=float(list_source[i][j])
    file1.close()
    return list_source

なお、読み出しコード部は、2サイクル目において、読み出したリスト要素のデータ型と本来の一致を保つために、floatを必要なデータ型に置き換えることができる.