gpt4 book ai didi

python - 在 python 中使用 split() 和 join() 时保留空格

转载 作者:IT老高 更新时间:2023-10-28 20:46:40 25 4
gpt4 key购买 nike

我有一个包含如下列的数据文件

BBP1   0.000000  -0.150000    2.033000  0.00 -0.150   1.77

各个列由不同数量的空格分隔。

我的目标是读取这些行,对几行进行一些数学运算,例如将第 4 列乘以 .95,然后将它们写入一个新文件。新文件应该看起来像原来的文件,除了我修改的值。

我的方法是将行作为列表项读取。然后我会在我感兴趣的那些行上使用 split(),这会给我一个包含各个列值的子列表。然后我进行修改,将列 join() 放在一起并将列表中的行写入新的文本文件。

问题是我有不同数量的空格。我不知道如何以我阅读它们的相同方式将它们介绍回来。我能想到的唯一方法是在拆分它们之前计算行中的字符,这将非常乏味。有人有更好的主意来解决这个问题吗?

最佳答案

你想在这种情况下使用 re.split() 和一个组:

re.split(r'(\s+)', line)

将返回列空白,以便您稍后可以重新加入包含相同数量空白的行。

例子:

>>> re.split(r'(\s+)', line)
['BBP1', ' ', '0.000000', ' ', '-0.150000', ' ', '2.033000', ' ', '0.00', ' ', '-0.150', ' ', '1.77']

您可能确实想从末尾删除换行符。

关于python - 在 python 中使用 split() 和 join() 时保留空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15579271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com