Dr. Arne JachensDr. Arne Jachens

python Library

writeDictOfArrays

Keine Erläuterungen gefunden.

#==================================================# 
def  writeDictOfArrays(data,fileName):
    """
    save data to a file, ordered in columns, 
    where the first row holds the data names
    """
    fp = open(fileName, 'w', encoding='utf-8')
    keys = data.keys()
    NoKeys = len(keys)
    firstKey = list(keys)[0]
    NoLines = len(data[firstKey])
    for  k,key in enumerate(keys):
        if k==NoKeys-1:
            fp.write(str(key)+"\n")
        else:
            fp.write(str(key)+"\t")
    for  l in range(NoLines):
        for  k,key in enumerate(keys):
            if isinstance(data[key][l],str):
                fp.write(data[key][l])
            else:
                fp.write('{0:1.2E}'.format(data[key][l]))
            if k==NoKeys-1:
                fp.write("\n")
            else:
                fp.write("\t")
                
    fp.close()
    print("Find the data in: "+fileName)
    
#==================================================#
def  writeDictOfArrays2mat(data,fileName):
    """
    https://docs.scipy.org/doc/scipy/reference/generated/scipy.io.savemat.html
    """
    from scipy.io import  savemat
    
    keys = data.keys()
    #NoKeys = len(keys)
    firstKey = list(keys)[0]
    NoLines = len(data[firstKey])
    matData = {}
    for  k in keys:
        mk = k
        mk = mk.replace("+","_")
        mk = mk.replace("-","_")
        mk = mk.replace("*","_")
        mk = mk.replace("/","_")
        matData[mk] = data[k]
    
    savemat(fileName, matData, appendmat=True, format='5', long_field_names=False, do_compression=False, oned_as='column')
    
    print("Find the data in: "+fileName)


    
#=======================================#
if __name__ == "__main__":
    import   numpy as   np
    
    data = {"x":[], "y":[], "z":[]}
    for  key in list(data.keys()):
        data[key] = np.random.uniform(low=0.0, high=10.0, size=10)

    fileName = "foo.dat"
    writeDictOfArrays(data,fileName)
    fileName = "foo.mat"
    writeDictOfArrays2mat(data,fileName)

Index of Library

1CIEcolorCoordinates_Spectrum.py
2MatlabStructures.py
3ModelicaExecution.py
4ModelicaMatFilter.py
5OperateAllFiles.py
6dictionaryStatistics.py
7familienKonto.py
8makeDoc.py
9plotTimeSeries.py
10readData2DictOfArrays.py
11replaceInFile.py
12showPointOnCIExy.py
13testNumpyMatrix.py
14writeDictOfArrays.py
15writeTSV.py

Der gesamte Sourcecode darf gemäß GNU General Public License weiterverbreitet werden.