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

前端之家收集整理的这篇文章主要介绍了在python中使用split()和join()时保留空格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含列的数据文件
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相关文章