加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 23:11:13 所属栏目:Python 来源:网络整理
导读:我有一个包含列的数据文件 BBP1 0.000000 -0.150000 2.033000 0.00 -0.150 1.77 并且各个列由不同数量的空格分开. 我的目标是阅读这些行,在几行中做一些数学,例如将列4乘以.95,并将它们写入新文件.新文件应该看起来像原来的文件,除了我修改的值. 我的方法将
我有一个包含列的数据文件
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']

你可能想要从最后删除换行符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读