因为用python很不熟悉,在做2018年美赛建模E题的时候,需要将自己已经预处理过的一些数据的txt文件导入python继续做一些操作,涉及到读入的数据是字符型不是数值型,所以把代码记一下
代码如下:
import numpy
fp=open('data.txt','r')
ls=[]
for line in fp:
line=line.strip('\n') #将\n去掉
ls.append(line.split(' ')) #将空格作为分隔符将一个字符切割成一个字符数组
fp.close()
ls=numpy.array(ls,dtype=float) #将其转换成numpy的数组,并定义数据类型为float
print(ls)
输出结果:
[[17. 18. 19.]
[15. 14. 14.]]
file=open('newdata.txt','a') #参数a是追加写,w是覆写。打开一个新的文件
for i in range(ls.shape[0]): #循环每一行
for j in range(ls.shape[1]): #循环每一列
file.write(str(ls[i][j])+"\n") #写入单个数值并换行
file.close() #关闭文件