我有一系列包含以下数据的文本文档:
[...]
Please prepare the subject, then press SPACE
We are testing peripheral vision with a black & white stimulus
45 degree stimulus of 0.728097 logMAR presented
Good response
45 degree stimulus of 0.686705 logMAR presented
Bad response
REVERSAL
Acuity at reversal 7 (experiment 3) was 0.686705 logMAR
135 degree stimulus of 0.732462 logMAR presented
Good response
45 degree stimulus of 0.732462 logMAR presented
[...]
换句话说,它的格式没有很多统一性。这个数据是我用于博士学位的一个例程输出的。愚蠢的是,我得到了一些错误的计算,这意味着我的数字都比他们应该的低0.3。
我可以查看我的所有文本文档并手动调整所有数字,但是有很多文档,每个文档都有很多数字。
任何人都可以建议使用预先存在的软件或合适的方法(我可以使用MATLAB,C ++,Java或Python)来检测文本文档中包含的所有浮点数并向它们添加0.3吗?
n.b。我不一定在寻找一个涉及我编程的解决方案,但鉴于这是一个非常定制的问题,我觉得它可能涉及写一些东西!
感谢所有建议:)
答案 0 :(得分:1)
这是一个用于完成工作的微软引擎的简单javascript
var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var fName = WScript.Arguments(0);
var f = FSO.OpenTextFile(fName, 1);
var fw = FSO.OpenTextFile(fName +".new", 2, true);
while (!f.AtEndOfStream)
fw.WriteLine(f.ReadLine().replace(/\b\d+\.(\d+)\b/g,
function($0, $1) {
return (+$0+0.3).toFixed($1.length);
}
));
f.Close();
fw.Close();
我假设固定点,没有前导或悬空小数点
答案 1 :(得分:0)
我不知道可以做到这一点的软件,但是通过编写Python脚本可以轻松解决您的问题。只需提取X文档中的所有浮点数,向其中添加0.3,然后将结果输出到新的文本文件。对所有文档执行此操作。可以在Web上找到用于检测浮点数的语法。希望这会有所帮助。