专栏首页python3python从txt文件读取数据

python从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)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用django实现购物车的商品加减功能

    <button goodsid="{{ good.id }}" class="subShopping">-</button> ...

    py3study
  • Python练手例子(4)

    16、一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。

    py3study
  • python基础知识练习题(二)

    2、利用下划线将列表的每一个元素拼接成字符串,li = ['alex','eric','Witharush']

    py3study
  • Python-线性最优解迭代方法

    Pulsar-V
  • 三分钟学 Go 语言——range深度解析

    小熊最近两天加班比较严重,要处理的事情很多,但是学习的热情永远不会减少,前面讲述的go语言语法是非常非常简单的,所以没有做深入的剖析,后面会从各种角度解析语法,...

    编程三分钟
  • 什么是 MyBatis?

    持久化是 将程序数据在持久状态和瞬时状态间转换的机制,将数据保存到可永久保存的存储设备中。最常见的就是将内存中的对象存储在数据库中,或者存在磁盘文件、XML 数...

    村雨遥
  • 数值优化方法—迭代法&终止条件

    优化算法的讲解姗姗来迟,过冷水在此感到十分的抱歉。本节将会讲到在数值优化中经常用到的两个知识点:迭代法和终止条件。

    艾木樨
  • Root Framework逻辑判断与循环

    Robot Framework 是一款关键字驱动的测试框架。使用者可以自定义关键字和开发系统关键字来增强测试功能,框架本身也提供了非常多的内置关键字功能。

    zx钟
  • C++经典算法题-得分排行

    假设有一教师依学生座号输入考试分数,现希望在输入完毕后自动显示学生分数的排行,当然学生的分数可能相同。

    cwl_java
  • Markdown语法讲解及MWeb使用教程

    写了一个月的博客,忽然感觉Markdown编辑器比较好用,于是就下载了一个本地的Markdown编辑软件学习了一下,刚好软件里自带了一篇英文的指示文档,顺便翻译...

    我是十三

扫码关注云+社区

领取腾讯云代金券