python - 将文本文件的列转换为科学记数法

标签 python numpy text scientific-notation

我有一个包含一列和许多原始数据的文本文件 (BBB.txt)。我想将所有数字转换为科学记数法。我正在尝试如下:

z= loadtxt ('BBB.txt')
for i in z:
    with open ('ff.txt','w') as h:
        y=np.format_float_scientific(z)
        h.write("\n".join(map(lambda z: '%f' % z, y)))

我会收到错误“只有 size-1 数组可以转换为 Python 标量”。这里有什么问题吗?

文本文件如下所示,但有更多原始数据:

0.000000
0.261869
0.980796
2.119419
3.218744
3.875440
-38.159080
-54.630055
-69.909509

最佳答案

您对 x,y,z,i 中的命名感到困惑。我总是建议您对变量使用长名称。下面的脚本将为您提供帮助

import numpy as np
z = open('BBB.txt')
for i in z:
    with open ('ff.txt','a') as h:
        i=float(i)
        y=np.format_float_scientific(i)
        h.write(f"{y}\n")

根据您的代码风格,您应该使用附加 a 来写入文件,而不是 w

关于python - 将文本文件的列转换为科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57658046/

相关文章:

python - scikit-learn:ImportError:无法导入名称 atleast2d_or_csr

python - 异常值错误 : 'I/O operation on uninitialized object' in

python - 用户(威胁参与者)可以更改 Flask session 数据吗?

pandas - 使用时间索引在 pandas 数据帧上滚动积分

javascript - 将插入符号位置设置为 contentEditable 元素内的空节点

iphone - 为什么 iPhone 上需要 Quartz 2D 文本翻转变换

python - 在输出python中寻找字符串?

python - 逻辑回归和 numpy : ValueError: operands could not be broadcast together with shapes

python - DataFrame 操作函数/方法

java - 如何获取节点周围的文本?