2

我需要分析十几个类似格式的数据文件。我希望为每个文件生成一个类似的 html 报告,其中包含一些描述数据的统计数据和图表。每个文件一个 html 报告,每个文件中的图表相同,只是数字不同。对于单个文件,这很容易做到,例如使用 FsLab 日志。尽管我尽了最大的努力,但对于许多类似的文件(相同的格式,不同的数字),我还没有找到任何有效的方法。

如果我有 10 个文件,我需要将日志复制粘贴 10 次,并更改定义在每个副本中加载哪个文件的行。然后,每当我想添加一个新图表时,我都需要编辑所有 10 个文件。这显然不是最好的方法。

如果它们更适合这个问题,我愿意使用除期刊和其他图书馆以外的其他方法,但我相信对于这样的基本事情会有一个简单的解决方案。

4

1 回答 1

4

FsLab Journals 系统不太支持这一点,但您绝对可以找到一些方法来做到这一点。我能想到的一个简单选项是修改build.fsx日志脚本,以便它重复处理脚本并使用,例如环境变量来指定输入文件。

如果您使用的是标准模板,请查看generateJournals 函数

let generateJournals ctx =
  let builtFiles = Journal.processJournals ctx
  traceImportant "All journals updated."
  Journal.getIndexJournal ctx builtFiles

我认为您应该能够按照以下方式对其进行修改:

let generateJournals ctx =
  // Iterate over all inputs you want to process
  for input in inputFiles do
    // Set environment variable to keep 'input'
    let builtFiles = Journal.processJournals ctx
    // Move the resulting files, so that they do not 
    // get overwritten by the next run 

  // Just return the journal you want to open first below
  traceImportant "All journals updated."
  Journal.getIndexJournal ctx builtFiles

然后在日志中,您应该可以使用System.Environment读取构建脚本中设置的变量。

于 2017-06-02T20:02:26.377 回答