我是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
但显然这是完全错误的。有人能给我一个简单的答案吗?解释一下这几行字的确切含义会有帮助的。干杯。
编辑:前两行在整个文件中重复。
这就是^{} 的设计目的。尝试:
编辑: 如果您有散布在文件中的时间和步骤信息,并且希望在每个步骤上绘制数据,则有可能将所有文件读取到内存中(假设它足够小),然后将其拆分为
time
字符串:或者您可以将
#
注释符号添加到注释行并使用np.loadxt
。一种方法是:
注意对
float
函数的调用,它将把从文件中获取的字符串更改为数字。这是
zip
方法上的*
运算符的作业。因此,在您的数据上下文中,它可能类似于:
或者,如果您真的需要能够在之后对数据进行变异,您可以在每个元组上调用
list
构造函数:相关问题 更多 >
编程相关推荐