c# - 将二维 C# 数组的内容存储到 csv 文件中

标签 c# arrays csv multidimensional-array

我有一个 C# 数组,我想从中获取每个元素并将其存储在每个 csv 单元格中。我编写了以下内容:

StreamWriter file = new StreamWriter("C:/mylocation/data.csv");
//my2darray  is my 2d array created.
for (int i = 0; i < my2darray.GetLength(1); i++)
   {
            for (int j=0; j<my2darray.GetLength(0);j++)
            {
                file.Write(my2darray[i][j]);
                file.Write("\t");
            }
            file.Write("\n"); // go to next line
     }

问题是每个 csv 单元格包含多个数组元素。如何解决?

最佳答案

我宁愿将 CSV 表示和保存分开:

private static IEnumerable<String> ToCsv<T>(T[,] data, string separator = ",") {
  for (int i = 0; i < data.GetLength(0); ++i)
    yield return string.Join(separator, Enumerable
      .Range(0, data.GetLength(1))
      .Select(j => data[i, j])); // simplest, we don't expect ',' and '"' in the items
}

...

File.WriteAllLines(@"C:/mylocation/data.csv",
  ToCsv(my2array));  

关于c# - 将二维 C# 数组的内容存储到 csv 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39792207/

相关文章:

csv - 读取CSV解析数据并存储在Hash中

c# - 为什么 c# List 实现在 ensure capacity 方法中指定这个确切的值?

c# - 如何在 C# 互操作中使用 InternetQueryOption?

C# 计时器与 Datetime.Now 同步

ios - (Swift) fatal error : Index out of range

python - 写入下一列 CSV 模块 Python

c# - 确保方法在另一个方法调用之前完成

java - 为什么更改整个数组行会产生奇怪的行为?

c++ - std::deque 内存地址作为数组

c# - C# 中是否有任何 CSV 读取器/写入器库?