0

我有一系列包含以下数据的文本文档:

[...]
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 添加到它们?

nb 我不一定要寻找涉及我编程任何东西的解决方案,但鉴于这是一个非常定制的问题,我感觉它可能涉及编写一些东西!

感激地收到所有建议:)

4

2 回答 2

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();

我假设固定点,没有前导或悬空小数点

于 2012-06-06T14:30:01.853 回答
0

我不知道有什么软件可以做到这一点,但是您的问题可以通过编写 Python 脚本轻松解决。只需提取 X 文档中的所有浮点数,将 0.3 添加到它们,然后将结果输出到新的文本文件。对所有文档执行此操作。检测浮点数的语法可以简单地在网络上找到。希望这可以帮助。

于 2012-06-06T14:22:13.533 回答