欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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)

 

python从txt文件读取数据