在numpy中加载矩阵式ascii文件,非常慢

时间:2014-07-02 10:28:40

标签: python numpy matrix

我是python的新手。我有一个ascii文件(6000 KB)矩阵类型,我想在numpy中导入保存相同的形状,即有一个numpy矩阵。我是通过使用下面报告的代码来做到这一点的。执行的代码给出了一个矩阵(1456L,2048L)但加载一个文件需要20秒。我怎样才能加快速度呢?
提前谢谢

    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib.mlab as mlab

    def load_matrix_from_file(f):
       import types

       if type(f) == types.StringType:
          fo = open(f, 'r')
          matrix = load_matrix_from_file(fo)
          fo.close()
          return matrix

       elif type(f) == types.FileType:
          file_content = f.read().strip()
          file_content = file_content.replace('\r\n', ';')
          file_content = file_content.replace('\n', ';')
          file_content = file_content.replace('\r', ';')

       return np.matrix(file_content)

       raise TypeError('f must be a file object or a file name.')

    data3 = load_matrix_from_file('file_name.asc')  

0 个答案:

没有答案