如何从csv文件中通过streamreader读取数据..意味着它应该以字符串形式出现

时间:2011-08-26 19:13:14

标签: vb.net streamreader

我正在通过streamreader阅读csv文件。问题是在csv文件中,如果数据类似于“读取”,那么Steamreader将相同的数据作为“”读取“”。如何删除这个额外的引号?

1 个答案:

答案 0 :(得分:1)

听起来你正在处理一个引用了某些(或全部)字段的CSV。如果是这种情况,我建议使用Microsoft.VisualBasic.FileIO.TextFieldParser(很多人似乎都不知道,并且尽管命名空间可以与C#一起使用),但仍然可以。{/ p>

Imports Microsoft.VisualBasic.FileIO.TextFieldParser;

Dim csvString As String = "25,""This is text"",abdd,""more quoted text"""

Dim parser as TextFieldParser = New TextFieldParser(New StringReader(csvString))

' You can also read from a file
' Dim parser As TextFieldParser = New TextFieldParser("mycsvfile.csv")

parser.HasFieldsEnclosedInQuotes = True
parser.SetDelimiters(",")

Dim fields As String()

While Not parser.EndOfData

    fields = parser.ReadFields()

    For Each (field As String in fields)
        Console.WriteLine(field)
    Next
End While

parser.Close()

输出应为:

25
This is text
abdd
more quoted text

Microsoft.VisualBasic.FileIO.TextFieldParser

要导入此内容,您需要在项目中添加对Microsoft.VisualBasic的引用。