Dim parser As TextFieldParser = New TextFieldParser("C:\mar0112.csv")
parser.TextFieldType = FieldType.Delimited
parser.SetDelimiters(",")
While Not parser.EndOfData
'Processing row
Dim fields() As String = parser.ReadFields
For Each field As String In fields
'TODO: Process field
Next
End While
parser.Close()
3 回答
添加对
Microsoft.VisualBasic
的引用(是的,它说VisualBasic但它也可以在C#中工作 - 请记住,最后它只是IL)使用
Microsoft.VisualBasic.FileIO.TextFieldParser
类来解析CSV文件以下是示例代码:
你看过csvlib了吗?它是ActionScript 3的解析器库 . 它声称可以正确处理带引号的字符串 .
希望您已将字符串括在引号中,尤其是包含逗号的字符串 . CSV解析器无法区分作为字符串一部分的逗号和分隔两个字符串的逗号,除非字符串在它们周围有引号 .
一次处理文件将减少时间 . 这可以通过使用简单的状态机来处理嵌入在值中的逗号的复杂性来实现 . 问候