如何去除不必要的间隙?

如何解决如何去除不必要的间隙?

我尝试删除行缩进和不必要的。我尝试了 replace、lstrip() 和 strip() 函数,但它并没有像我想象的那样工作。有人可以帮我吗?

我的文本文件

 -4   1 0
 -5   2 0
  6  -3 0
 -7   1 0
 -8   2 0
  9  -3 0
-10   1 0
-11   2 0
 12  -3 0 

strip 和 lstrip 给了我这个输出

-4   1 0
 -5   2 0
  6  -3 0
 -7   1 0
 -8   2 0
  9  -3 0
-10   1 0
-11   2 0
 12  -3 0

replace(" ",' ')

-4  1 0
 -5  2 0
 6 -3 0
 -7  1 0
 -8  2 0
 9 -3 0
-10  1 0
-11  2 0
 12 -3 0

我需要:

-4 1 0
-5 2 0
6 -3 0
-7 1 0
-8 2 0
9  -3 0
-10 1 0
-11 2 0
12 -3 0

演示文件.txt

>=3 1 2 -3 

我尝试读取带有数字的文件并进行编辑,然后进行数学运算 我的完整代码:

import os
import sys
import numpy as np
import math


with open("demofile.txt","r") as s:
    # read data
    f = open("demofile.txt","r")
    lines = f.readlines()
    # input preprocessing
    p = 1
     
    for i in list(lines):

        if i[0] != '<' and i[0] != '>' and i[0] != '=':
            d = str(' '.join(i.split()))
            print(d)

        else:
            w = i.replace("=",'')
            w = w.replace(">",'')
            w = w.replace("<",'')
            w = ','.join(w.split())
            c = np.array([w])
            c1 = [int(i) for i in c[0].replace(" ","").split(",")]
            # insert input to array
            c1 = np.array(c1)
            # save first value in array
            frst = c1[0]
            # remove first value in array
            c1 = np.delete(c1,0)
            #print(c1)
            # count values in line
            n = len(c1)
            sest2=c1
            #print(c1)
            c1=np.array([c1]*frst)
        
            # max value from demofile
            maxv =  maxv + 1
            if p == 1:
                # last numbers
                end = frst * n + maxv
                l = np.arange(maxv,end)
                arr = l.reshape(frst,n)          
            else:
                end1 = end + frst * n
                l = np.arange(end,end1)
                arr = l.reshape(frst,n)
                end = end1
            

            arr[c1 < 0] *= -1
           # print(arr)
            arr6=np.transpose(arr)*-1 
            sest1=arr6
            #print(arr6)
            #print(sest1,'\n')
            sest = np.zeros((sest1.flatten().shape[0],2))
            sest[:,[0]] = sest1.T.flatten()[:,None]
            sest[:,[1]] = np.tile(sest2,frst)[:,None]
            sest=sest.astype(int)
            #print(sest)
            sest=str(sest).replace("[",'')
            sest=str(sest).replace("]",' 0')            
            sest = sest[:-1]
            sest=str(sest).replace("\n ",'\n')
            #sest=sest.lstrip(" ")
            print(sest)

解决方法

这可以通过正则表达式来完成。

import re

(...)

first_pass = re.sub(r' +',' ',your_text,flags=re.MULTILINE) # Eliminate duplicate whitespaces
final_pass = re.sub(r'^ +','',first_pass,flags=re.MULTILINE) # Eliminate leading whitespaces

print(final_pass)

输出:

-4 1 0
-4 1 0
-5 2 0
6 -3 0
-7 1 0
-8 2 0
9 -3 0
-10 1 0
-11 2 0
12 -3 0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-