2017-06-02 27 views
2

我需要分析十幾個類似格式的數據文件。我希望爲每個文件生成一個類似的html報告,其中包含一些描述數據的統計信息和圖表。每個文件一個html報告,每個文件中有相同的圖表,只是不同的數字。對於單個文件,例如使用FsLab日誌很容易。儘管我盡了最大的努力,但我還沒有找到任何有效的方法來處理許多類似的文件(相同的格式,不同的數字)。爲幾個數據文件創建類似的HTML報告

如果我有10個文件,我需要複製粘貼日誌10次,並更改定義要在每個副本中加載哪個文件的行。然後,無論何時我希望添加新圖形,我都需要編輯所有10個文件。這顯然不是實現這一目標的最佳方式。

如果他們更適合這個問題,我願意使用除FsLab以外的日記和其他庫以外的其他方法,但是我相信對於這樣的基本事情會有一個簡單的解決方案。

回答

4

這是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來讀取構建腳本中設置的變量。