为多个数据文件创建类似的 HTML 报告

Creating similar HTML reports for several data files

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

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

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

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

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

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读取构建脚本中设置的变量。