c# - 如何使用 .NET Core 将镶木地板文件转换为 CSV?
问题描述
我有一个 parquet 文件,我正在尝试将其转换为 CSV 文件,似乎大多数人建议使用 Spark,但是我需要使用 C# 来完成此任务,特别是我需要使用 .NET Core 3.0。
它很棘手,因为镶木地板是柱状数据,这使得转换为 CSV 很烦人......
我曾尝试将其加载到数据表中,但我不喜欢该解决方案,因为我需要将整个文件保存在内存中,而且我会以某种方式丢失某些记录。
我正在使用 parquet.net,但我对任何其他适用于 .net 核心/标准的 parquet 库持开放态度
先感谢您。
解决方案
使用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文章。
推荐阅读
- matlab - 在耦合非线性 ode 中为恢复动态添加噪声
- c++ - 无法通过 std::vector 同步 std::thread
- java - 使用移位的颠簸变换,默认操作
- excel - 如何复制/粘贴数据并删除工作表然后另存为?
- python - 例外:位置 x 处的错误转义 \p
- python - 将 gdalwarp 终端注释翻译成 python 代码(使用 gdal 绑定) - 错误:返回 NULL 而不设置错误
- excel - 如何清除范围内单元格上的过滤器,但不在表格内
- python - django中的简单搜索表单
- bluetooth-lowenergy - 4.2 BLE 设备与两个不同 iPhone 的检测问题
- date - Power Query:用于将日期(作为列参考)添加到日期的 M 代码