所以我最近在这里找到了这个问题的解决方案 ,我想将数据文件的两列放入两个数组中,我现在有了这段代码,它可以很好地完成这项工作。
Xvals=[]; Yvals=[]
i = open('BGBiasRE_IM3_wCSrescaled.txt','r')
lines = [line.split() for line in i if line[:4] not in ('time', 'Step')]
Xvals, Yvals = zip(*lines)
V = [0, 0.004, 0, 0.0004]
pylab.plot(Xvals, Yvals, marker='o')
pylab.axis(V)
pylab.xlabel('Time (ms)')
pylab.ylabel('Current (A)')
pylab.title('Title')
pylab.show()
但我现在意识到我搞砸了这个问题。我有一个如下布局的数据文件,
time I(R_stkb)
Step Information: Temp=0 (Run: 1/11)
0.000000000000000e+000 0.000000e+000
9.999999960041972e-012 8.924141e-012
1.999999992008394e-011 9.623148e-012
Step Information: Temp=10 (Run: 2/11)
0.000000000000000e+000 0.000000e+000
9.999999960041972e-012 4.924141e-012
1.999999992008394e-011 8.623148e-012
(注:每条数据线之间没有空行,两个数据值之间有一个Tab)
上面的代码将所有步骤信息附加到一个数组中,所以当我想要两个不同的数组用于不同的步骤时,我会得到两个大的长数组,以便以后可以分别绘制它们各自的数组。我还必须获取步骤名称,在这种情况下 Temp=10 并附加它/命名数组以反映每个步骤信息块。例如。我想最终得到这样的数组
Temp0_Xvals = [ 0.000000000000000e+000, 9.999999960041972e-012, 1.999999992008394e-011]
Temp0_Yvals = [ 0.000000e+000, 8.924141e-012, 9.623148e-012]
Temp10_Xvals = [...]
Temp10_Yvals = [...] etc etc
显然这使问题变得更加复杂,我不知道从哪里开始。