我正在尝试读取数据,然后拆分它们。有效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
最后我自己弄清楚了,答案是...原文:
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]))
但是我不明白为什么这可以解决问题。有人可以解释吗?