按行读取,并绘制图像:
import csv
import matplotlib.pyplot as plt
import numpy as np
with open('filename.csv') as f: #读取文件
reader = csv.reader(f) #创建阅读器
rows = [row for row in reader] #按行读取
print(rows[0]) #打印第0行,此时读取的数据类型为列表
y =np.array(rows[0],dtype=np.float32) #将列表转为数组,数据类型为浮点数
print(y) #打印数组,验证数据类型转换成功
#绘制一维数组图像
t = np.linspace(0,17,17) #创建x轴
plt.plot(t,y) #绘制图像
plt.show()
按列读取,并绘制图像:
with open('filename.csv') as f:
reader = csv.reader(f)
weizhen = [] #创建存储列数据的空列表
for row in reader: #遍历文件中的每一行
data = float(row[1]) #将索引1处即第二列的字符串数据转换为数字
weizhen.append(data) #将数据存储到列表中
print(weizhen) #验证一下,此时类型应为数组
a = weizhen[1001: 1201] #数据分割
#绘制一维数组
fig = plt.figure(dpi=128, figsize=(10, 6))
plt.plot(a, c='red')
plt.show()