zoukankan      html  css  js  c++  java
  • python 工具 字符串转numpy浮点数组

    不同的数字之间使用 空格“ ”,“$”,"*"等隔开,支持带小数点的字符串
    NumArray=str2num(LineString,comment='#')
    将字符串中的所有非Double类型的字符全部替换成空格
     以'#'开头直至行尾的内容被清空
     返回一维numpy.array数组

    import numpy
    import scipy
    def str2num(LineString,comment='#'):
     
        from io import StringIO as StringIO
        import re,numpy
     
        NumArray=numpy.empty([0],numpy.int16)
        NumStr=LineString.strip()
        #~ ignore comment string
        for cmt in comment:
    
            CmtRe=cmt+'.*$'
            NumStr=re.sub(CmtRe, " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
     
        #~ delete all non-number characters,replaced by blankspace.
        NumStr=re.sub('[^0-9.e+-]', " ", NumStr, count=0, flags=re.IGNORECASE)
     
        #~ Remove incorrect combining-characters for double type.
        NumStr=re.sub('[.e+-](?=s)', " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
        NumStr=re.sub('[.e+-](?=s)', " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
        NumStr=re.sub('[e+-]$', " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
        NumStr=re.sub('[e+-]$', " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
     
        if len(NumStr.strip())>0:
            StrIOds=StringIO(NumStr.strip())
            NumArray= numpy.genfromtxt(StrIOds)
     
        return NumArray
    
    
    if __name__ == "__main__":
        str = input("Enter your input: ");
        donser=str2num(str)
        print(donser)
  • 相关阅读:
    Ubuntu14.04安装CMake3.5.1(转)
    树莓派进阶之路 (005)
    树莓派进阶之路 (004)
    树莓派进阶之路 (006)
    树莓派进阶之路 (007)
    树莓派 添加国内源
    树莓派进阶之路 (001)
    安装samba脚本
    Linux中tty、pty、pts的概念区别
    单片机串口通信原理及原理图
  • 原文地址:https://www.cnblogs.com/dzzy/p/9399487.html
Copyright © 2011-2022 走看看