2008年11月05日

CSV形式のファイルの読み込み

VB2008にはCSV形式のファイルの読み込みをしてくれる関数が用意されています。


"テニス","ラケット","シューズ"


というCSVファイルを


テニス


ラケット


シューズ


と読んでくれます。

 
下記の例は


FilePathでファイルを指定して


そこに書いてある
サイトのリストを読み込んでいます


"ID","Domain","Directory","URL","Title"


という形式のサイトリストを


List形式のDictionaryに読み込みます

 

 Public Function AllSiteListData(ByVal FilePath As String) As List(Of Dictionary(Of String, String))
        Dim FileName As String = gDataPath & "\" & FilePath
        Dim SiteData As New List(Of Dictionary(Of String, String))


        If IO.File.Exists(FileName) = False Then
            MessageBox.Show(FileName & vbCrLf & "がありません", "警告", MessageBoxButtons.OK)


            Return SiteData
            Exit Function
        End If


        Using parser As New TextFieldParser(FileName)
            parser.TextFieldType = FieldType.Delimited
            parser.SetDelimiters(",") ' 区切り文字はコンマ
            parser.HasFieldsEnclosedInQuotes = True '単純に,で区切り


            Do While Not parser.EndOfData
                Dim row As String() = parser.ReadFields()
                Dim Item As New Dictionary(Of String, String)
                Item("ID") = row(0)
                Item("Domain") = row(1)
                Item("Directory") = row(2)
                Item("URL") = row(3)
                Item("Title") = row(7)


                SiteData.Add(Item)
            Loop
        End Using
        Return SiteData


    End Function

posted by kiyo at 15:57| ファイル | このブログの読者になる | 更新情報をチェックする