我是 Python 的新手,一整天都在努力弄懂这个问题。我有一个以下所示的数据文件:
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
3.999999984016789e-011 6.154220e-012
(注意:每行数据之间不要留空行。)
我希望使用matplotlib函数绘制数据,因此需要将两个单独的列放入数组中。
目前我有:
def plotdata():
Xvals=[], Yvals=[]
i = open(file,'r')
for line in i:
Xvals,Yvals = line.split(' ', 1)
print Xvals,Yvals
但显然它完全是错误的。有人能给我一个简单的答案,并解释一下这些行到底是什么意思吗?谢谢。
编辑:前两行在整个文件中都重复出现。
zip
函数的一部分...否则,解决方案不错。 - Niklas B..split()
是一个字符串方法,而lines
是一个字符串列表。你需要使用Xvals, Yvals = zip(*(line.split() for line in lines))
或者其他方法来解决。 - DSM