我需要从SSIS中的CSV文件中获取列名

时间:2016-01-22 16:17:08

标签: csv ssis

我有一个运行R程序的SSIS进程,R程序将其结果导出为CSV文件。每次运行R程序时,CSV中的数据都会发生变化;列的名称和列数更改。 CSV文件的名称保持不变。

我需要做的是从这个CSV文件中读取列的名称,这样我就可以动态创建一个表来存储数据。有关如何从SSIS流程中读取列名的任何建议?我不是C#程序员,所以如果解决方案是脚本任务,请提供一个相当详细的例子

提前致谢。

1 个答案:

答案 0 :(得分:1)

我能够在同事(感谢Connor)的帮助下使用它,基本上只要文件不为空,它就会打开CSV并读入第一行。我现在将使用它来动态生成SQL CREATE TABLE脚本

string path = @“C:\ Users \ ruschd \ Documents \ Medal Expectancy-MultiCompetitor \ WinterSports_ratings_history_filter.csv”;

        var reader = new StreamReader(File.OpenRead(path));
        string firstLine = null;
        List<string> colNames = new List<string>();


        if (!reader.EndOfStream)
          firstLine = reader.ReadLine();
            colNames.AddRange(firstLine.Split(','));

            MessageBox.Show(colNames[0].ToString());  // this is here to show that it is working, I'll loop thru the list to create the SQL

        reader.Close();