標籤:placed case type correct main move replace bin http
不同的數字之間使用 空格“ ”,“$”,"*"等隔開,支援帶小數點的字串
NumArray=str2num(LineString,comment=‘#‘)
將字串中的所有非Double類型的字元全部替換成空格
以‘#‘開頭直至行尾的內容被清空
返回一維numpy.array數組
import numpyimport scipydef 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 NumArrayif __name__ == "__main__": str = input("Enter your input: "); donser=str2num(str) print(donser)
python 工具 字串轉numpy浮點數組