【问题标题】:Loading CSV file with Different Rows/Columns C#加载具有不同行/列的 CSV 文件 C#
【发布时间】:2014-10-12 03:48:00
【问题描述】:

这可能是一个愚蠢的问题,在加载文件时不太好,但在加载行和列中元素数量不同的 csv 文件时需要帮助。存储在数组或列表中会更好吗?我将如何做到这一点?
示例

25     ,     15   ,    20  
apple  ,  
tree   ,  
carrot ,  
walking,  
etc.. 

其中数字是列,单词是行。

我根据其他一些答案尝试了类似的方法,但它崩溃了,说我没有引用一个对象。有什么建议?

StreamReader sr = new StreamReader(filename);
String[,] wordlist = null;
int Row = 0;
while(!sr.EndOfStream)
{
    String[] header = sr.ReadLine().Split(',');
    wordlist[Row, 0] = header[Row];
    Row++;
}

【问题讨论】:

  • String[,] wordlist = null;你有问题吗,你的二维数组没有初始化,这就是抛出异常的原因。它应该是 String[,] wordlist = new String[YOUR_LENGTH, YOUR_LENGTH];

标签: c# arrays list csv


【解决方案1】:

我没有检查但相信它有效

StreamReader sr = new StreamReader(filename);
// String[,] wordlist = null;
var wordList = new List<string[]>();
//int Row = 0;
while(!sr.EndOfStream)
{
    String[] header = sr.ReadLine().Split(',');
    //wordlist[Row, 0] = header[Row];
    wordList.Add(header); 
    //Row++;
}

【讨论】:

  • 确实有效!奇怪的是它没有正确读出文件我检查了 csv 是 Visual Studio 并且列表似乎像这个词一样,,,换句话说,,,有没有办法只读取行?
猜你喜欢
  • 2021-10-09
  • 2022-12-12
  • 1970-01-01
  • 2019-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多