文件路径 path = "./Advertising.csv"
# 手写读取数据
f = open(path)
x = []
y = []
for i, d in enumerate(f):
if i == 0: #跳过第0行的标题
continue
d = d.strip() #去掉换行,回车等
if not d: #如果d是空的,没有数据
continue
d = list(map(float, d.split(','))) #d有数据,用,分隔后转为float
#在Python 3,map返回类型的迭代的对象map,而不是一个subscriptible列表,这样可以让你写map[i]。
#要强制列表的结果,写list(map(float, d.split(',')))
x.append(d[1:-1]) #取第一到倒数第一个之前的数
y.append(d[-1]) #取倒数第一个数
pprint(x)
pprint(y)
x = np.array(x)
y = np.array(y)
# Python自带库
f = open(path, 'r')
# print (f)
# 输出的结果是:
# <_io.TextIOWrapper name='./Advertising.csv' mode='r' encoding='cp936'>
d = csv.reader(f)
for line in d:
print (line)
f.close()
np.loadtxt()
用于从文本加载数据。文本文件中的每一行必须含有相同的数据
# numpy读入
#skiprows=n 是指跳过前n行, 如果设置skiprows=2, 就会跳过前两行
p = np.loadtxt(path,delimiter=',', skiprows=1)
print (p)
print ('\n\n===============\n\n')
# pandas读入
data = pd.read_csv(path) # TV、Radio、Newspaper、Sales
x = data[['TV', 'Radio', 'Newspaper']]
# x = data[['TV', 'Radio']]
y = data['Sales']
print('Persone Corr = \n', data.corr())
print(x)
print(y)
print(x.shape, y.shape)