python读取csv文件,并从中提取想要的数据列

def read_test():
    with open("wine_data.csv","r") as f:
        data = f.readlines()   #按行读取数据
        data=data[1:]
    result = []
    for i in data:
        i_list = i.split(",")    #使用逗号分割方法分割
        try:
            result.append([i_list[2], i_list[3], i_list[4], i_list[5], i_list[6],
                           i_list[7], i_list[8], i_list[9], i_list[10], i_list[11], i_list[12],
                           i_list[13], i_list[14].replace("\n", "")]) 
 # 提取我们需要的数据 i_list[2],i_list[3] 可以根据自己想要的列数据
#来设定,由于我的csv文件需要的列有点多,
#我这样设置感觉好麻烦,如果有其他方法请告知,谢谢,缩小代码
        except Exception as e:
            pass
    result= np.float32(result)
    return result


改进后 使用pandas读取csv文件 代码少好多!

import pandas as pd
def read_test():
    data = pd.read_csv('wine_data.csv', header=0,
                       usecols=[2, 3, 4, 5, 6, 7, 8,9,10,11,12,13,14])
    data=np.array(data)
#使用pandas读取csv文件,数据类型为:,所以可以将其变为ndarray类型,这样可以使用for循环
    return data

 

你可能感兴趣的:(python,csv)