为多个数据文件创建类似的 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
读取构建脚本中设置的变量。
我需要分析十几个格式相似的数据文件。我希望为每个文件生成一个类似的 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
读取构建脚本中设置的变量。