我有一个包含一列和许多原始数据的文本文件 (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/