none
CSVファイルからのデータの取り込み RRS feed

  • 質問

  • VBでコンソールアプリを作成しています。
    CSVファイルから、datasetに取り込むのですが、
    CSVファイルには、カラム情報はなく、
    datatableに"名前","年齢"等の具体的なフィールド名が
    ついているdatatableにデータを格納したいです。

    やり方がいまいちわかりません。

    でなれば、fillで取り込んだ後に、データテーブルの
    フィールド名を変更できるのでしょうか?

    どなたか教えてください

    2006年5月30日 5:58

すべての返信

  • DataTableのカラム名はColumnName プロパティで変更出来ます。
    // 例
    dt.Columns[0].ColumnName = "ColName";

    2006年5月30日 7:34
  • お世話になります。

    > でなれば、fillで取り込んだ後に、データテーブルの
    > フィールド名を変更できるのでしょうか?
    データが存在する場合は出来ないと思います。


    D:\test.csv の中身がこんなんだったら、
    名古屋,じゃんぬ
    神奈川,まゆりん
    東京,夏椰

    こんな感じでどうでしょうか。

    Module Module1
    
        Sub Main()
            Dim ds As DataSet = New DataSet
            Dim dt As DataTable = New DataTable
            ds.Tables.Add(dt)
            dt.Columns.Add("住所", GetType(String))
            dt.Columns.Add("名前", GetType(String))
    
            Dim sr As New System.IO.StreamReader("D:\test.csv", System.Text.Encoding.Default)
            Try
                While (sr.Peek() <> -1)
                    Dim readedLine As String = sr.ReadLine
                    dt.Rows.Add(readedLine.Split(","c))
                End While
            Finally
                If sr IsNot Nothing Then sr.Close()
            End Try
    
            ' 1 行目のデータを表示
            Console.WriteLine(dt.Rows(0)("住所"))
            Console.WriteLine(dt.Rows(0)("名前"))
        End Sub
    
    End Module
    

    2006年5月30日 7:37