python导入数据的几种方法?

以下是在我学习过程中常用的两种导入数据的方式

方法一:

c = open('ML2017Data/testTarget.csv',"r")
file = csv.reader(c)
data_set = []
for line in file:
    data_set.append(line)
data_set = np.array(data_set)
c.close()

上面程序的效果是将csv文件中的文本按行打印,每一行的元素都是以逗号分隔符’,’分隔得来。line里边的数据类型是string类型。

把string 数据转化成float型

c = open('ml-latest-small/ratings.csv','r')
file = csv.reader(c)
data_set = []
for line in file:       
        #skip the frist line        
        if file.line_num == 1:
                continue
        #change the string to float
        line = list(map(float, line))
        data_set.append(line)
c.close()

方法二:用numpy读取文件,首先要导入numpy包

import numpy as np

  

trainInput_cvs = np.loadtxt('ML2017Data/trainInput.csv',dtype='str')
trainInput = trainInput_cvs.astype('float')

这种方法返回的是一个array类型的数据

方法三: 用pandas 读取数据

import pandas as pd

ratings = pd.read_csv('ml-latest-small/ratings.csv')
#change the string to float
dataset = ratings.values