如何从.CSV调用特定列

时间:2019-02-22 19:54:39

标签: python csv numpy numpy-ndarray

我正在调用一个.csv文件,该文件中包含文本值和数字值,这些值均按如下所示的值排序:

screenshot of .csv for clarity

当我尝试调用数据时,python给我错误ValueError: could not convert string to float: '7/24/15 0:10'

有没有一种方法可以在此csv中调用并忽略特定的列?因此,由于我在第1列(日期)中遇到错误,我可以调用数据,但忽略第1列,第6列(工作日),第7列(date_UTC)吗?同样,我该如何忽略其他可能在浮点数数组中不起作用的列呢?

到目前为止,这是我的代码:

SummerCLfile = 'user/summer_clusters.csv'
Summer_CLdata = list( csv.reader( open( SummerCLfile ) ) )
Summer_CLheaders = np.array( Summer_CLdata[ 0 ] [ : ], dtype = 'str' )
Summer_CLalldata = np.array( Summer_CLdata[ 1: ], dtype = 'float32' )

然后按类型调用这些数据(即在“ X”中调用,它会在给定的时间为我提供X的所有值)。

我总是可以进入数据并删除不需要的列,但是如果我可以调用无法转换为float32的数据,我的生活将会变得轻松得多

1 个答案:

答案 0 :(得分:0)

如果要将每个列分配给列表,则可以随时调用特定列或列中的特定项。您也可以忽略不需要的任何内容。

with open('my_file.csv', 'r') as f:
    global date, year, month, day, weekday, date_UTC, timewave, x, y 
    date, year, month, day, weekday, date_UTC, timewave, x, y = zip(*(row for row in csv.reader(f)))`