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