【问题标题】:c# - Create and upload csv file to ADLSc# - 创建 csv 文件并将其上传到 ADLS
【发布时间】:2021-01-20 15:32:26
【问题描述】:

我正在尝试创建一个 .csv 文件以使用 DataLakeFileClientMemoryStream 上传到 ADLS。它工作正常,但 csv 文件在 csv 中的每个字母之后都有一个垃圾值。 (当我下载并在记事本++中打开文件时,我可以将它们视为'NUL')。

这是我的代码:

 DataLakeFileClient fileClient = new DataLakeFileClient(new
  Uri($"https://{accountName}.dfs.core.windows.net/{container}/{directory}/{filename}"), credential); 
UnicodeEncoding uniEncoding = new UnicodeEncoding();
using (MemoryStream memStream = new MemoryStream(100))
    {
    byte[] colString = uniEncoding.GetBytes("a,b,c,d,e,f");
    memStream.Write(colString, 0, colString.Length);
    
    memStream.WriteByte(0x0A);
    
    byte[] dataString = uniEncoding.GetBytes(string.Join(",", "val1","val2","val3","val4","val5","val6"));
    memStream.Write(dataString, 0, dataString.Length);
    memStream.Position = 0;
    fileClient.Upload(memStream); 
    }

【问题讨论】:

    标签: c# csv filestream azure-data-lake memorystream


    【解决方案1】:

    这是因为您的 LF (0x0A) 是一个字节而不是 2。 在它之后添加另一个字节:

    memStream.WriteByte(0x0A);
    memStream.WriteByte(0x0);
    

    【讨论】:

      猜你喜欢
      • 2020-11-02
      • 2017-12-12
      • 2022-08-11
      • 2018-03-20
      • 1970-01-01
      • 2016-01-14
      • 2018-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多