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)
  • 相关阅读:
    WPF线程中获取控件的值和给控件赋值
    sublime text3 安装以及主要插件安装
    云服务IaaS,PaaS,SaaS
    What is JSON
    Core Java
    英语单词及语义
    设置PyCharm创建文件时自动添加头文件
    【练习】字典的循环遍历:实现多层级节点存取
    字符串格式化
    常用数据类型的方法--str、int、list、dict
  • 原文地址:https://www.cnblogs.com/dzzy/p/9399487.html
Copyright © 2011-2022 走看看