美文网首页机器学习
机器学习之python中csv文件学习学习(二十)

机器学习之python中csv文件学习学习(二十)

作者: SundayCoder | 来源:发表于2018-01-07 14:10 被阅读0次

    今天来学习python中csv文件的操作
    这是机器学习中最为重要的一个技能。
    因为机器学习中很多的训练集和测试集均是csv文件
    在看代码之前请先在你的目录下确保已经有一个hellocsv.csv的文件。你可以使用excel创建然后保存的时候选择格式是csv就可以,默认使用逗号作为分隔符号
    内容如下:


    image.png

    代码块

    
    
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Author  : SundayCoder-俊勇
    # @File    : csvLearn.py
    
    
    # 今天我们来学习一下python中的CSV文件的相关操作。
    # CSV全称为“Comma Separated Values”,
    # 是一种格式化的文件,由行和列组成,
    # 分隔符可以根据需要来变化,一般的分隔符默认使用的是逗号。
    
    # 创建文件hellocsv.csv并初始化,初始化内容如下。
    # name,age,classroom
    # zhangsan,23,1401
    # lisi,24,1402
    # (1)读取csv文件的所有内容,包括标题和内容。
    import csv#这个模块是python自带的一个模块
    #
    # 只需要注意文件名必须为单引号而不是双引号!!!
    # reader = csv.reader(open("hellocsv.csv"))
    # for name,age,classroom in reader:
    #     print name,age,classroom
    # 输出的结果为:
    # name age classroom
    # zhangsan 23 1401
    # lisi 24 1402
    
    
    # (2)另外一种方法
    # csv_reader = csv.reader(open('hellocsv.csv'))
    # for row in csv_reader:
    #     print row
    # 输出的结果为:
    #[' name', 'age', 'classroom']
    # [' zhangsan', '23', '1401']
    # [' lisi', '24', '1402']
    # 可以看出这种方法把每一行变成了一个list返回。
    
    
    # (3)第三种方法读csv文件
    # with open('hellocsv.csv','rb') as csvfile:
    #     reader = csv.reader(csvfile)
    #     rows = [row for row in reader]
    # print rows
    # 输出的结果为:一个大的列表里面还有三个小的列表
    # [[' name', 'age', 'classroom'],
    #  [' zhangsan', '23', '1401'],
    #  [' lisi', '24', '1402']]
    
    
    # (4)只提取某一行的数据:例如提取第二行的数据
    # with open('hellocsv.csv','rb') as csvfile:
    #     reader = csv.reader(csvfile)
    #     for i,rows in enumerate(reader):
    #         if i == 2:
    #             row = rows
    # print row
    # 输出的结果为:[' lisi', '24', '1402']
    # 注意行数从0开始。
    
    # (5)读取文件的第五种方式:使用DictReader,
    # 和reader函数类似,接收一个可迭代的对象,
    # 能返回一个生成器,但是返回的每一个单元格都放在一个字典的值内,
    # 而这个字典的键则是这个单元格的标题(即列头)。
    #
    # with open('hellocsv.csv','rb') as csvfile:
    #     reader = csv.DictReader(csvfile)
    #     rows = [row for row in reader]
    # print rows
    # 输出的结果为:
    # [{'classroom': '1401', 'age': '23', ' name': ' zhangsan'},
    #  {'classroom': '1402', 'age': '24', ' name': ' lisi'}]
    # 注:字典的键是这个单元格的标题
    
    
    # (6)读取制定行的数据的另一种写法。
    # with open('hellocsv.csv','rb') as csvfile:
    #     reader = csv.DictReader(csvfile)
    #     for row in reader:
    #         if row['name']=='zhangsan':
    #             print row
    # 输出的结果为:{'classroom': '1401', 'age': '23', 'name': 'zhangsan'}
    
    
    # (5)写入数据到csv文件之中。
    # data =['wangpeng', '22', '1402']
    # with open('hellocsv.csv','a+') as csvfile:
    #     csv_writer = csv.writer(csvfile)
    #     csv_writer.writerow(data)
    #     写入之后再查看文件内容
    # csv_reader = csv.reader(open('hellocsv.csv'))
    # for row in csv_reader:
    #     print row
    
    
    # 数字识别的测试1:
    # with open('hellocsv.csv', 'r') as csvfile1:
    #       csv_reader = csv.reader(csvfile1)
    #       dataSet = list(csv_reader)
    # print dataSet
    # 输出的结果为:
    # [
    #     ['name', 'age', 'classroom'],
    #     ['zhangsan', '23', '1401'],
    #     ['lisi', '24', '1402']
    #  ]
    # 数字识别的测试2:
    # with open('hellocsv.csv', 'r') as csvfile1:
    #     csv_reader = csv.reader(csvfile1)
    #     dataSet = list(csv_reader)
    #     for x in range(0, len(dataSet)):
    #         print  dataSet[x]
    
    # 输出的结果为:
    # ['name', 'age', 'classroom']
    # ['zhangsan', '23', '1401']
    # ['lisi', '24', '1402']
    # 可以看出如果X为0的话则标题也被当做数据,所以机器学习中需要去掉标题
    # 也就是x应该从1开始。
    

    加油一起学习,更新完毕

    相关文章

      网友评论

        本文标题:机器学习之python中csv文件学习学习(二十)

        本文链接:https://www.haomeiwen.com/subject/viipnxtx.html