我有一个高斯.cube文件(http://paulbourke.net/dataformats/cube/),我希望找到并替换任何" NaN"此文件中的字符串,带有数值。导入我的.cube文件给了我一个带有字符串和数值的参差不齐的数组结构。我也可以选择将文件导入列表列表。
我尝试过ReplaceAll命令,但Mathematica似乎无法找到NaN字符串来替换它。我将我的初始数组定义为" cubefile":
newcubefile = cubefile /. "NaN" -> 1000000
ReplacePart命令也是如此。
一个(缩短的).cube文件示例,其中包含两个我要替换的NaN值:
{" grad_cube", " 3d plot", " reduced density gradient", " 10 \
0.000000 0.000000 0.000000", " 45 0.711111 0.000000 \
0.000000", " 45 0.000000 0.711111 0.000000", " 45 \
0.000000 0.000000 0.711111", " 6 0.0 0.000000 0.000000 \
0.000000", " 8 0.0 0.636571 29.627942 31.998664", " 1 0.0 \
2.452233 29.435574 31.997116", " 8 0.0 1.419780 1.757082 \
31.998335", " 1 0.0 29.967743 0.233347 0.002315", " 1 0.0 \
4.896759 1.786080 31.998626", " 8 0.0 6.712387 1.593495 \
31.999036", " 6 0.0 7.348967 31.221446 31.999373", " 8 0.0 \
5.928984 29.464534 31.999015", " 1 0.0 9.381256 30.988384 \
0.000684", " 0.10000E+03 0.10000E+03 0.10000E+03 0.10888E+01 \
0.16636E+01 0.24435E+01", " 0.35378E+01 0.50957E+01 0.73141E+01 \
0.10460E+02 0.14902E+02 0.21154E+02", " 0.29923E+02 0.42194E+02 \
0.59323E+02 0.83185E+02 0.11637E+03 0.16246E+03", " 0.22639E+03 \
0.31515E+03 0.43757E+03 0.55223E+03 0.41025E+03 0.41014E+03", " \
0.55221E+03 0.43755E+03 0.31514E+03 0.22639E+03 0.16245E+03 \
0.11637E+03", " 0.83184E+02 0.59323E+02 0.42194E+02 0.29924E+02 \
NaN NaN"}
我该怎么做?
谢谢大家。
答案 0 :(得分:1)
尝试
StringReplace[#, "NaN" -> "0.0"] & /@ list
其中列表就是您在上面显示的内容。