vb.net如何将长文本添加到csv中

时间:2016-08-06 09:02:13

标签: vb.net csv datagridview

你好这是我的第一个帖子, 我正在尝试转换此页面的说明(https://www.tokopedia.com/indoislamicstore/cream-zaitun-arofah) 使用正则表达式并用新行替换<br/>标记并将其转换为csv。

datagridview没关系,但csv搞砸了

这是我的代码:

Dim dskrip As New System.Text.RegularExpressions.Regex("<p itemprop=""description"" class=""mt-20"">(.*?)\<\/p>\<\/div>")
        Dim dskripm As MatchCollection = dskrip.Matches(rssourcecode0)

        For Each itemdskrm As Match In dskripm
            getdeskripsinew = itemdskrm.Groups(1).Value
        Next
Dim deskripsinew As String = Replace(getdeskripsinew, ",", ";")
        Dim deskripsitotal As String = Replace(deskripsinew, "<br/>", Environment.NewLine)
        '   ListView1.s = Environment.NewLine & deskripsinew
        txtDeskripsi.Text = deskripsitotal
        datascrapes.ColumnCount = 5
        datascrapes.Columns(0).Name = "Title"
        datascrapes.Columns(1).Name = "Price"
        datascrapes.Columns(2).Name = "Deskripsi"
        datascrapes.Columns(3).Name = "Gambar"
        datascrapes.Columns(4).Name = "Total Produk"
        Dim row As String() = New String() {getname, totalprice, deskripsitotal, directoryme + getfilename, "10"}
        datascrapes.Rows.Add(row)
        Dim filePath As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\" & "Tokopedia_Upload.csv"
        Dim delimeter As String = ","
        Dim sb As New StringBuilder
        For i As Integer = 0 To datascrapes.Rows.Count - 1
            Dim array As String() = New String(datascrapes.Columns.Count - 1) {}
            If i.Equals(0) Then
                For j As Integer = 0 To datascrapes.Columns.Count - 1
                    array(j) = datascrapes.Columns(j).HeaderText
                Next
                sb.AppendLine(String.Join(delimeter, array))
            End If
            For j As Integer = 0 To datascrapes.Columns.Count - 1
                If Not datascrapes.Rows(i).IsNewRow Then
                    array(j) = datascrapes(j, i).Value.ToString
                End If
            Next
            If Not datascrapes.Rows(i).IsNewRow Then
                sb.AppendLine(String.Join(delimeter, array))
            End If
        Next
        File.WriteAllText(filePath, sb.ToString)    

this is the csv file

1 个答案:

答案 0 :(得分:1)

我不确定您的问题在哪里查看CSV文件,但在某些情况下您需要引用CSV的值。没有官方规范,但RFC 4180经常被用作非官方标准。我建议使用像CSV Helper

这样的库