python 工具 字符串转numpy浮点数组

Posted dzzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

 

以上是关于python 工具 字符串转numpy浮点数组的主要内容,如果未能解决你的问题,请参考以下文章

Python:将 wav 文件写入 numpy 浮点数组

字符串列表/数组到 numpy 浮点数组

Python 3:将波形数据(字节数组)转换为浮点值的 numpy 数组

numpy字符串文件行到浮点数组科学记数法

如何将(四舍五入)浮点数数组更改为字符串数组python

python中的16位浮点共享内存数组