使用c#读取CSV文件

时间:2013-03-15 06:28:34

标签: c# arrays object csv

我正在研究一个项目,基本上就是下面的文字流程 阅读2个Csv文件 逐行比较其内容 识别不同的行,即使是列 创建一个新的Csv文件以包含差异

遇到的问题:

  1. 我无法读取csv文件并将它们存储在数据表中。我可以 使用xslx(excel文件)继续在错误的文件上给出错误 位置
  2. 我怀疑它是一个连接字符串错误

    我正在使用这个字符串:

    connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileDirectory + ";Extended Properties=\"Text;HDR= Yes;FMT = Delimited\"";
    
    Oledbconnection Connection = new OleDbConnection(connectionString);
    
    OleDbDataAdapter Adapter = new OleDbDataAdapter("select * from [" + Filesheet + "$]", Connection);
    
    1. 我使用的是Oledbconnection方法,有更高效的方法吗? 没有存储将是更可取的

    2. 如何运行程序,以便自动访问 文件,文件包含在2个不同的文件夹中并进行比较 逐个文件,因为到目前为止我只设法做一个特定的文件阅读

    3. 你们有更好的替代方法来解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

我从未尝试使用连接字符串打开csv文件。

CSV文件基本上只是由\ n(或\ r \ n)和列by(或其他)的行分隔。

所以我个人所做的通常是使用TextReader打开它 - 并执行以下操作

foreach (string row in textString.Split('\n')
{
foreach (string cell in row.Split(',')
{
//One cell at a time

}
}

有用于打开csv文件的库,但我发现这是最简单的。

3。)好吧,你必须使用不同的文件“两次”运行代码。如果他们是硬编码使用数组 - 或者你可以弹出一些OpenFileDialog来要求用户选择它们

否则在理解您的问题时会遇到问题。

答案 1 :(得分:0)