无法从分割和空白修剪中获取数据

问题描述 投票:0回答:1

我正在尝试读取数据,然后拆分它们。有效data(numbers)共有4列,因此我使用strip()split(maxsplit=4)来修剪空白。我无法获取整个数据集,相反,我只看到一张“支票”打印出来(这意味着有些问题无法解决)但是,我无法理解此代码出了什么问题。请救救我。

THIS_FOLDER = os.path.dirname(os.path.abspath(__file__))
filename = os.path.join(THIS_FOLDER, '1D_Profile.txt')

x, y, void_1, void_2 = [], [], [], []

with open(filename) as data:
for line in data:
    line = line.strip()
    x = x.append(float(line.split(maxsplit=4)[0]))
    y = y.append(float(line.split(maxsplit=4)[1]))
    void_1 = void_1.append(float(line.split(maxsplit=4)[2]))
    void_2 = void_2.append(float(line.split(maxsplit=4)[-1]))
    print('check')

这是我的原始数据的前6行(以txt格式保存)

 1.0536544e+00   0.0000000e+00   1.0000000e+00   1.0042425e+00
 1.0526175e+00   0.0000000e+00   1.0000000e+00   1.0042427e+00
 1.0515805e+00   1.1696509e+00   1.0000000e+00   1.0042429e+00
 1.0505435e+00   2.7503487e+00   1.0000000e+00   1.0042429e+00
 1.0495065e+00   4.1166442e+00   1.0000000e+00   1.0042429e+00
 1.0484695e+00   5.9161777e+00   1.0000000e+00   1.0042429e+00
split whitespace
1个回答
0
投票

最后我自己弄清楚了,答案是...原文:

    x = x.append(float(line.split(maxsplit=4)[0]))
    y = y.append(float(line.split(maxsplit=4)[1]))
    void_1 = void_1.append(float(line.split(maxsplit=4)[2]))
    void_2 = void_2.append(float(line.split(maxsplit=4)[-1]))

我进行了如下更改:

    x.append(float(line.split(maxsplit=4)[0]))
    y.append(float(line.split(maxsplit=4)[1]))
    void_1.append(float(line.split(maxsplit=4)[2]))
    void_2.append(float(line.split(maxsplit=4)[-1]))

但是我不明白为什么这可以解决问题。有人可以解释吗?

© www.soinside.com 2019 - 2024. All rights reserved.