小编Ice*_*ode的帖子

在某个字符前插入空格字符

我有一个如下所示的文件:

120E+00 360E+01 258E-09-784E+02  
-847E+00-360E+01 242E-08 420E+05  
14E+00 360E+01 254E+00 78E+02  
-120E+00-254E-01-223E-09-786E-02  
Run Code Online (Sandbox Code Playgroud)

E+00、E+01、E-01 等采用科学记数法表示 ^0、^1、^-1 等。

我想获取以下格式的文件:

120E+00 360E+01 258E-09 -784E+02  
-847E+00 -360E+01 242E-08 420E+05  
14E+00 360E+01 254E+00 78E+02  
-120E+00 -254E-01 -223E-09 -786E-02  
Run Code Online (Sandbox Code Playgroud)

我想在负数之前添加一个空格,而不修改科学计数法或负数本身。
如果负数是该行(第一列)中的第一个,只是从第 2 列到该行末尾,我也不想添加空格。
我也想用awk。

我希望我的解释很清楚。
谢谢你!

awk text-processing

2
推荐指数
1
解决办法
610
查看次数

在数字前面添加零

我有一个如下所示的文件,是用 Python 计算的:

1.00000100e+07  
1.00000000e+04  
1.11000111e+08  
1.11000000e+05
Run Code Online (Sandbox Code Playgroud)

现在,我想获得这样的东西:

010000010  
000010000  
111000111  
000111000  
Run Code Online (Sandbox Code Playgroud)

我的想法是添加零以获得 9 位的固定格式。我编写的 Python 代码为我提供了二进制数,但为了进一步解码,我需要这些二进制数有 9 位。我尝试从 Python 中以所需的格式获取它们,但我无法做到这一点。

我希望我的解释很清楚。

更新:
Python代码:

#!/usr/bin/env python3  

import numpy as np  
from numpy import genfromtxt  
import os  

day = os.environ.get('day')  
Array = genfromtxt("SUC_diffzeros_"+str(day)+".csv")  
final = np.zeros(len(Array))
    
def decimaltobinary(x):

    for i in range(len(x)):
        
        print(x[i])
        final[i] = "{0:09b}".format(x[i])
        print(final)
    var = np.column_stack([Array, final])
    np.savetxt("SUC_diffzeros_"+str(day)+".csv", var, fmt='%.8e')

if __name__ == '__main__':
    val = Array.astype(int)
    decimaltobinary(val)
Run Code Online (Sandbox Code Playgroud)

text-processing python3

2
推荐指数
1
解决办法
601
查看次数

标签 统计

text-processing ×2

awk ×1

python3 ×1