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

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

# -*-coding:utf-8 -*-
import csv;
label1 = '1'
label2 = '2'
label3 = '3'
a = "feature1,feature2,feature3,feature4,feature5,feature6,feature7,feature8,feature9,feature10,label" + "\n"
with open("./dataset/dataTime2.csv", 'a') as rfile:
     rfile.writelines(a)
with open("./dataset/f02.csv", 'rb') as file:
    a = file.readline().strip()
    while a:
        a = a + ',' + label1 + "\n"
        #a = label1 + ',' + a + "\n"
        with open("./dataset/dataTime2.csv", 'a') as rfile:
            rfile.writelines(a)
        a = file.readline().strip()
with open("./dataset/g03.csv", 'rb') as file:
    a = file.readline().strip()
    while a:
        a = a + ',' + label2 + "\n"
        #a = label2 + ',' + a + "\n"
        with open("./dataset/dataTime2.csv", 'a') as rfile:
            rfile.writelines(a)
        a = file.readline().strip()
with open("./dataset/normal05.csv", 'rb') as file:
    a = file.readline().strip()
    while a:
        a = a + ',' + label3 + "\n"
        #a = label3 + ',' + a + "\n"
        with open("./dataset/dataTime2.csv", 'a') as rfile:
            rfile.writelines(a)
        a = file.readline().strip()

 

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

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

 

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

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

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

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

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

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

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

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Python选择CSV文件的指定,你可以使用csv模块来读取和处理CSV文件。以下是几种方法可以实现这个目标: 方法一:使用csv.DictReader 你可以使用csv.DictReader来读取CSV文件,并通过指定的标签来获取对应的数值。首先,你需要打开CSV文件,然后创建一个DictReader对象。接下来,你可以使用表推导式来获取指定的数值。例如,如果你想获取标签为'label'的,可以使用以下代码: ```python import csv filename = "./dataset/dataTime2.csv" list1 = \[\] with open(filename, 'r') as file: reader = csv.DictReader(file) column = \[row\['label'\] for row in reader\] ``` 这样,column就包含了标签为'label'的的所有数值。 方法二:使用csv.reader 另一种方法是使用csv.reader来读取CSV文件,并通过索引来获取指定的数值。你可以使用以下代码示例来提取CSV文件的第一列和第三: ```python import csv filename = "./dataset/dataTime2.csv" list1 = \[\] with open(filename, 'r') as f: reader = csv.reader(f) for row in reader: col1 = row\[0\] # 第一列数据 col3 = row\[2\] # 第三数据 # 处理数据 ... ``` 在这个示例,col1变量将包含每一行的第一列数据,col3变量将包含每一行的第三数据。你可以根据需要进行进一步的处理。 方法三:处理成list\[np.array\]形式的数据 如果你想将CSV文件的数据处理成list\[np.array\]的形式,你可以使用以下代码示例: ```python import csv import numpy as np filename = "./dataset/dataTime2.csv" list1 = \[\] with open(filename, 'r') as file: a = file.readline() while a: c = np.array(a.strip("\n").split(",")) list1.append(c) ``` 在这个示例,每一行的数据将被处理成一个numpy数组,并添加到list1。你可以根据需要进一步处理这个表。 希望这些方法能够帮助到你! #### 引用[.reference_title] - *1* *3* [用python获取.csv文件一列或者某些](https://blog.csdn.net/weixin_64338372/article/details/130251739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [python 提取csv文件某几](https://blog.csdn.net/weixin_35753291/article/details/129069565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值