python从txt文件读取数据
程序员文章站
2022-03-12 10:14:48
(作为一个python初学者,记录一点学习期间的笔记,方便日后查阅,若有错误或者更加便捷的方法,望指出!) 1、读取TXT文件数据,并对其中部分数据进行划分。一部分作为训练集数据,一部分作为测试集数据: ......
(作为一个python初学者,记录一点学习期间的笔记,方便日后查阅,若有错误或者更加便捷的方法,望指出!)
1、读取txt文件数据,并对其中部分数据进行划分。一部分作为训练集数据,一部分作为测试集数据:
def loaddata(filename,split,trainingset=[],testset=[]): with open(filename,'r') as file: lines = file.readlines() dataset = [[] for i in range(len(lines)-1)] for i in range(len(dataset)): dataset[i][:] = (item for item in lines[i].strip().split(',')) # 逐行读取数据 print("dateset:",dataset) for x in range(len(dataset)): for y in range(len(dataset[0])-1): dataset[x][y] = float(dataset[x][y]) # 将除最后一列的数据转化为浮点型 if random.random() < split: # 将数据集进行划分 trainingset.append(dataset[x]) else: testset.append(dataset[x]) print("trainingset",len(trainingset)) print("testset",len(testset)) loaddata('irisdata.txt',0.8)
2、提取csv文件中的数据,把特征值转化为:特征名称:特征值 的字典格式,用于调用sklearn库。
转换结果如图:
with open("allelectronics.csv", 'r') as file: data_lines = file.readlines() data = [[] for i in data_lines] for i in range(len(data_lines)): data[i][:] = (item for item in data_lines[i].strip().split(",")) headers = [] featurelist = [] labellist = [] for i in data[0]: headers.append(i) # 提取第一行类别名称 del(data[0]) for row in data: labellist.append(row[-1]) rowdict = {} for i in range(1,len(row)-1): # 把每一行转换成一个字典,便于直接利用sklearn直接提供的库函数 rowdict[headers[i]] = row[i] featurelist.append(rowdict) print(labellist) print(featurelist)