Python中字符串的相关操作
字符串划分报错 ValueError: could not convert string to float
可能因为文本中的数字间不是一个空格,可能是一个“tab"或多个空格;
可以使用正则表达式拆分:
代码展示
原始代码:
def read_file(_path, delim='tab'):
data = []
if delim == 'tab':
delim = '\t'
elif delim == 'space':
delim = ' '
with open(_path, 'r') as f:
for line in f:
line = line.strip().split(delim)
line = [float(i) for i in line]
data.append(line)
return np.asarray(data)
改正代码:
def read_file(_path, delim='tab'):
data = []
if delim == 'tab':
delim = '\t'
elif delim == 'space':
delim = ' '
with open(_path, 'r') as f:
for line in f:
# line = line.strip().split(delim)
line = re.split('\s+',line.strip())
line = [float(i) for i in line]
data.append(line)
return np.asarray(data)
解决完毕!
==未完待续=