首页 > 解决方案 > 如何使用 .NET Core 将镶木地板文件转换为 CSV?

问题描述

我有一个 parquet 文件,我正在尝试将其转换为 CSV 文件,似乎大多数人建议使用 Spark,但是我需要使用 C# 来完成此任务,特别是我需要使用 .NET Core 3.0。

它很棘手,因为镶木地板是柱状数据,这使得转换为 CSV 很烦人......

我曾尝试将其加载到数据表中,但我不喜欢该解决方案,因为我需要将整个文件保存在内存中,而且我会以某种方式丢失某些记录。

我正在使用 parquet.net,但我对任何其他适用于 .net 核心/标准的 parquet 库持开放态度

先感谢您。

标签: c#csv.net-coreparquet

解决方案


使用Cinchoo ETL - 一个开源库,您可以轻松地将 Parquet 文件转换为 CSV。

安装 Nuget 包

安装包 ChoETL.Parquet

示例代码

使用 ChoETL;

StringBuilder csv = new StringBuilder();
using (var r = new ChoParquetReader(@"*** Your Parquet file ***")
    .ParquetOptions(o => o.TreatByteArrayAsString = true)
    )
{
    using (var w = new ChoCSVWriter(csv)
        .WithFirstLineHeader()
        .UseNestedKeyFormat(false)
        )
        w.Write(r);
}

Console.WriteLine(csv.ToString());

有关更多信息,请访问codeproject文章。


推荐阅读