在 Python 中将数据文件列拆分为单独的数组

2023-12-10

我是 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 method.

>>> asdf
[[1, 2], [3, 4], [5, 6]]


>>> zip(*asdf)
[(1, 3, 5), (2, 4, 6)]

因此,在您的数据上下文中,它可能类似于:

handle = open(file,'r')
lines = [line.split() for line in handle if line[:4] not in ('time', 'Step')]
Xvals, Yvals = zip(*lines)

或者如果您确实需要能够在事后改变数据,您可以调用list每个元组的构造函数:

Xvals, Yvals = [list(block) for block in zip(*lines)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中将数据文件列拆分为单独的数组 的相关文章

随机推荐