F# 可选的 CSV 加载

F# Optional CSV load

我正在使用 F# 数据提供程序加载 csv 文件。出于某种不在我控制范围内的原因,他们偶尔会将文件更改为 gzip。 (例如 MyFile.txt 也可以是 MyFile.text.gz)

所以,我有这个,它工作得很好

let fl = CSV.load("MyFile.txt")

我需要做的是,如果找不到文件的错误,我需要它来寻找备用名称。

let fl = CSV.load("MyFile.txt.gz")

我已经尝试过...使用块

try
        let fl = CSV.load("MyFile.txt")
with
        let fl = CSV.load("MyFile.txt.gz")

它不会让我以这种方式使用 let 关键字。我什至试过

try
        let fl = CSV.load("MyFile.txt")
with
        CSV.load("MyFile.txt.gz") -> fl

使用 C#,这将非常简单。在此先感谢您的帮助。

您可以使用类似的东西:

let fl =
    try CSV.load("MyFile.txt")
    with _ -> CSV.load("MyFile.txt.gz")

但我认为更好的解决方案是先检查文件是否存在。