我正在做一个个人项目,一个非常简单的网页抓取工具。我将结果存储为 CSV,其中包含标题、URL 和 ID。ID 包含通过正则表达式匹配找到的结果字符串(例如:ID 单元格可以是“1234567”、“1111111 2222222”等)。将单元格拆分为列很简单,但如何轻松拆分这些 ID,同时保持与相关标题和 URL 的链接?我正在处理几千页,因此手动操作并不是一个好选择。
例子:
初始值:
“主页”,foo.bar/home,1111111 2222222
之后:
“主页”,foo.bar/home,1111111
“主页”,foo.bar/home,2222222
答案1
在 vba 中类似这样的操作应该可以解决问题。它没有错误检查,也没有针对速度进行优化,但应该没问题。它将创建一个新的工作表并按照您想要的方式拆分数据。
Option Explicit
Sub test()
Dim lRow As Long, curRow As Long, pasteRow As Long
Dim dataWS As Worksheet, pasteWS As Worksheet
Dim ArrID() As String
Dim i As Long
'Since csv will only have one sheet
Set dataWS = Sheets(1)
Set pasteWS = Worksheets.Add
pasteRow = 1
lRow = dataWS.Range("A" & dataWS.Rows.Count).End(xlUp).Row
For curRow = 1 To lRow
ArrID() = Split(dataWS.Range("C" & curRow).Value, " ")
For i = 0 To UBound(ArrID)
If Len(ArrID(i)) > 0 Then
pasteWS.Range("A" & pasteRow & ":B" & pasteRow).Value = dataWS.Range("A" & curRow & ":B" & curRow).Value
pasteWS.Range("C" & pasteRow).Value = ArrID(i)
pasteRow = pasteRow + 1
End If
Next
Next
End Sub