【问题标题】:Reading .csv file line by line [closed]逐行读取.csv文件[关闭]
【发布时间】:2013-12-02 15:46:56
【问题描述】:

我有一个 excel 文件 (.csv),我想逐行读取,或者更精确地逐行读取,并将其存储在 C# 中的字符串中 任何帮助表示赞赏。

【问题讨论】:

  • 我建议你在 SO 上进行搜索,因为这个问题已经回答了很多次了。
  • CSV 只是一个以逗号分隔的文本文件,如果这样更容易弄清楚要做什么。 (hint)
  • @Sorceri 很抱歉不知道 SO 是什么,你能详细说明一下吗?
  • @fOcusWow SO = 堆栈溢出(请参阅What do SO, SF and SU stand for?)
  • 专业提示:在几乎所有的互联网社区中,不使用搜索功能的发布总是会导致一场风暴和适当的投票。 Stack Overflow 甚至会在您创建问题时提出相关问题!

标签: c# string csv


【解决方案1】:

这应该得到你的支持;

var csvRows = File.ReadAllLines(@"C:\demo.csv");

它将每一行加载到字符串数组中的一个新条目中。 (前提是文件的 EOL char 是\r\n,而不仅仅是\n)

【讨论】:

    【解决方案2】:

    您可以使用System.IO.File.ReadAllLines() 函数来Read 来自给定Lines 的所有Lines。

    语法:String [] lines= System.IO.File.ReadAllLines(String filepath)

    试试这个:

    string path = @"C:\filename.csv";
    String [] allLines=System.IO.File.ReadAllLines(path);
    

    【讨论】:

      【解决方案3】:

      下面的 sn-p 可能对你有帮助。看看吧。

                  TextFieldParser parser = new TextFieldParser(@"D:\test.csv");
                  parser.TextFieldType = FieldType.Delimited;
                  parser.SetDelimiters(",");
                  while (!parser.EndOfData)
                  {
                      //Processing row
                      string[] fields = parser.ReadFields();
                      foreach (string field in fields)
                      {
                          string test =field;
                      }
                  }
                  parser.Close();
      

      包含Microsoft.VisualBasic 作为参考。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-25
        • 1970-01-01
        • 1970-01-01
        • 2013-04-30
        • 1970-01-01
        • 2018-05-17
        相关资源
        最近更新 更多