• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

用python获取.csv文件某一列或者某些列

武飞扬头像
MqtGhj
帮助1

1.把三个csv文件中的feature值整合到一个文件中,同时添加相应的label。

  1.  
    # -*-coding:utf-8 -*-
  2.  
    import csv;
  3.  
    label1 = '1'
  4.  
    label2 = '2'
  5.  
    label3 = '3'
  6.  
    a = "feature1,feature2,feature3,feature4,feature5,feature6,feature7,feature8,feature9,feature10,label" "\n"
  7.  
    with open("./dataset/dataTime2.csv", 'a') as rfile:
  8.  
    rfile.writelines(a)
  9.  
    with open("./dataset/f02.csv", 'rb') as file:
  10.  
    a = file.readline().strip()
  11.  
    while a:
  12.  
    a = a ',' label1 "\n"
  13.  
    #a = label1 ',' a "\n"
  14.  
    with open("./dataset/dataTime2.csv", 'a') as rfile:
  15.  
    rfile.writelines(a)
  16.  
    a = file.readline().strip()
  17.  
    with open("./dataset/g03.csv", 'rb') as file:
  18.  
    a = file.readline().strip()
  19.  
    while a:
  20.  
    a = a ',' label2 "\n"
  21.  
    #a = label2 ',' a "\n"
  22.  
    with open("./dataset/dataTime2.csv", 'a') as rfile:
  23.  
    rfile.writelines(a)
  24.  
    a = file.readline().strip()
  25.  
    with open("./dataset/normal05.csv", 'rb') as file:
  26.  
    a = file.readline().strip()
  27.  
    while a:
  28.  
    a = a ',' label3 "\n"
  29.  
    #a = label3 ',' a "\n"
  30.  
    with open("./dataset/dataTime2.csv", 'a') as rfile:
  31.  
    rfile.writelines(a)
  32.  
    a = file.readline().strip()
学新通

2.获取csv文件中某一列,下面可以获得label为表头的列中对应的所有数值。

  1.  
    filename = "./dataset/dataTime2.csv"
  2.  
    list1 = []
  3.  
    with open(filename, 'r') as file:
  4.  
    reader = csv.DictReader(file)
  5.  
    column = [row['label'] for row in reader]

3.获取csv文件中某些列,下面可以获得除label表头的对应列之外所有数值。

  1.  
    import pandas as pd
  2.  
    odata = pd.read_csv(filename)
  3.  
    y = odata['label']
  4.  
    x = odata.drop(['label'], axis=1) #除去label列之外的所有feature值

4.也可以处理成list[np.array]形式的数据。

  1.  
    filename = "./dataset/dataTime2.csv"
  2.  
    list1 = []
  3.  
    with open(filename, 'r') as file:
  4.  
    a = file.readline()
  5.  
    while a:
  6.  
    c = np.array(a.strip("\n").split(","))
  7.  
    list1.append(c)

5.也可以处理成tensor格式数据集

  1.  
    # -*-coding:utf-8 -*-
  2.  
    import tensorflow as tf
  3.  
    # 读取的时候需要跳过第一行
  4.  
    filename = tf.train.string_input_producer(["./dataset/dataTime.csv"])
  5.  
    reader = tf.TextLineReader(skip_header_lines=1)
  6.  
    key, value = reader.read(filename)
  7.  
    record_defaults = [[1.], [1.], [1.], [1.], [1.], [1.], [1.], [1.], [1.], [1.], tf.constant([], dtype=tf.int32)]
  8.  
    col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11= tf.decode_csv(
  9.  
    value, record_defaults=record_defaults)
  10.  
    features = tf.stack([col1, col2, col3, col4, col5, col6, col7, col8, col9, col10])
  11.  
    with tf.Session() as sess:
  12.  
    # Start populating the filename queue.
  13.  
    coord = tf.train.Coordinator()
  14.  
    threads = tf.train.start_queue_runners(coord=coord)
  15.  
    trainx = []
  16.  
    trainy = []
  17.  
    for i in range(81000):
  18.  
    # Retrieve a single instance:
  19.  
    example, label = sess.run([features, col11])
  20.  
    trainx.append(example)
  21.  
    trainy.append(label)
  22.  
    coord.request_stop()
  23.  
    coord.join(threads)
  24.  
    #最后长度是81000,trainx是10个特征
学新通

参考资料:http://t.csdn.cn/HFTPy

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhefaake
系列文章
更多 icon
同类精品
更多 icon
继续加载