我正在使用cclib解析输出文件中的一些数据。使用以下代码:
filename = "calc.out"
data = cclib.io.ccread(filename)
print (data.grads)
我得到以下输出:
[[[-1.6510e-04 -4.4360e-04 -3.0450e-04]
[ 4.8228e-03 3.2300e-05 1.0200e-05]
[-1.9796e-03 -3.5266e-03 -2.6463e-03]
[-1.6856e-03 4.7508e-03 -1.7005e-03]
[-1.8385e-03 -9.7510e-04 4.8117e-03]]]
我要做的是将输出转换为以下格式:
-1.6510e-04
-4.4360e-04
-3.0450e-04
.
.
.
4.8117e-03
我将如何使用python实现这一点?如果您需要任何其他信息,请让我知道,我不熟悉提问和python。提前感谢您的帮助
因为您提供的输入对我来说是不可复制的,所以我将其稍微编辑为合法的python代码(而不是我没有的某个模块的字符串输出)
因为我不知道您的结果集的结构,并且您希望删除它以获得请求的输出,所以我将其展平为:
https://stackoverflow.com/a/48262212/1766544
(我稍微修改了上面的代码,因为字符串是可编辑的,但您希望字符串按原样返回,而不是逐个字符返回。)
您已经在注释中指出,这将生成包含多个数字的字符串。看起来它们只是空格分隔的,所以您需要使用str.split()https://docs.python.org/3.8/library/stdtypes.html?highlight=split#str.split
使用split()的第三步可能是您需要的唯一部分,但我必须完成其他步骤才能跟上进度,因为这个问题没有让我达到目的
要打印所需的输出,只需执行以下操作:
相关问题 更多 >
编程相关推荐