使用拆分切割CSV文件

时间:2013-12-24 11:57:25

标签: vb.net csv split

我有一个csv文件,当我使用split函数时,我的问题是数组的第16段在其中有一个名称(在大多数情况下),其名字由逗号分隔。这显然会引起我的问​​题,因为它使我的阵列不同步。关于我如何处理这个问题的任何建议?

第16段中的字符串被“”包围,如果这有帮助,则拆分功能仍会将其拆分。

4 个答案:

答案 0 :(得分:2)

您可以按照TextFieldParser

指示使用here

答案 1 :(得分:0)

我推荐Lumen CSV Library,它可以用逗号正确处理字段值。 它还具有非常好的性能和非常简单的用法。 请参阅上面的链接,它不会让您失望。

答案 2 :(得分:0)

我认为你错过了这一点。拆分仅适用于简单的csv解析。任何变得有点复杂的东西意味着很多额外的代码。像TextFieldParser这样的东西更适合你想要的东西。但是,如果你必须使用Split这里的一种方式:

    Dim TempArray() As String
    Dim Output As New List(Of String)
    If SourceString.Contains("""") Then
        TempArray = SourceString.Split(""""c)
        Output.AddRange(TempArray(0).Split(","c))
        Output.Add(TempArray(1))
        'If the quoted part of the csv line is at the end of the line omit this statement.
        Output.AddRange(TempArray(2).Split(","c))
    Else
        Output = New List(Of String)(SourceString.Split(","c))
    End If

这假定数据是严格组织的,除了引号之外,如果不是,则必须添加验证码。

答案 3 :(得分:0)

拆分"," 带引号 ,而不仅仅是逗号。不要忘记处理该行的第一个和最后一个引号。