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

2020-09-24 0 841

不同的数字之间使用 空格“ ”,“$”,\”*\”等隔开,支持带小数点的字符串

NumArray=str2num(LineString,comment=\’#\’)

将字符串中的所有非Double类型的字符全部替换成空格

以\’#\’开头直至行尾的内容被清空

返回一维numpy.array数组

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

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 array由浮点型转换为整型

——使用numpy中的astype()方法可以实现,如:

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

以上这篇python 工具 字符串转numpy浮点数组的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。

遇见资源网 Python python 工具 字符串转numpy浮点数组的实现 http://www.ox520.com/24978.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务