您的位置:首页 > 编程语言 > Python开发

python文件读取方法

2017-11-27 22:40 381 查看
一、text文件的读取

readlines():一次读取所有内容并按行返回list

split()方法:str.split(str="",num=string.count(str)).指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串

例子一:

with open('testSet.txt') as fr:
forline in fr.readlines():
lineArr = line.strip().split()
dataMat.append([float(lineArr[0]),float(lineArr[1])])
labelMat.append(int(lineArr[2]))


for循环第一次结果:

dataMat=[[-0.017612,14,053064]]

labelMat=[0]



例子二:

def file2matrix(filename):
# 得到文件行数,构造矩阵
fr =open(filename)
arrayLines = fr.readlines()
numberOfLines = len(arrayLines)
returnMat = zeros((numberOfLines,3))
labelVector = []
index =0
forline in arrayLines:
line = line.strip()   #去掉每行头尾空白
#print(line)
listFromLine = line.split('\t')  #获取列表元素
returnMat[index,:] = listFromLine[0:3]
labelVector.append(int(listFromLine[-1]))
index += 1
returnreturnMat,labelVector


for 循环第一次结果:

listFromLine = [‘40920’,’8.326976’,’0.953952’,’3’]

returnMat=[[40920 8.326976 0.953952]]

labelVector=[3]



二、mat文件的读取

import scipy.io as sio
# mat文件读取
matfn1 = u'D:/Project_python/train.mat'                    # mat文件路径
data1 = sio.loadmat(matfn1)                                #返回一个字典类型
trainLabel = data1['trainLabel']
trainData = data1['trainData']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: