我尝试从csv文件绘制红外光谱,如下所示:
import matplotlib.pyplot as plt
file=open('261.1_2014-12-10t16-33-55.csv')
for line in file :
data.append(line)
pointset=data[6:]
for point in pointset:
res=point.split(',')
h=float(res[0])
wn.append(h)
y=float(res[1])
Ads.append(y)
plt.plot(wn,Ads)
plt.show()但我得到的不是单行,而是大量的代码。与点集和数据相比,变量Ads和wn的条目要多得多。怎么啦?
发布于 2015-01-01 01:42:30
您正在对文件中的各行进行两次迭代。对于文件中的每一行,您将遍历pointset中的每个点,但是pointset只是到目前为止读取的除前六行之外的所有行的集合。
我想这就是你想要的:
from matplotlib import pyplot as plt
file = open('filename.csv')
for ii,line in enumerate(file):
if ii>=6: #skip lines 0, 1,2,3,4,5
fields = line.split(",")
wn.append(float(fields[0]))
Ads.append(float(fields[1]))
plt.plot(wn,Ads)
plt.show()https://stackoverflow.com/questions/27724003
复制相似问题