Excel 高级数据分隔符

Excel 高级数据分隔符,excel,Excel,我有一个日志文件,其中包含100000多行数据,而实际上我只关心大约5000行数据。其余的大部分都是垃圾,就像下面的一样。它以一列10万行的形式导入Excel,我无法对任何内容进行定界。我唯一能做的就是搜索所有的“M-SEL”并将其更改为“M-SEL”(与SAC线相同),然后这开始给我一些东西来界定和分类。有没有比我上面列出的更优雅的解决方案(VBA或过滤技术?) 00:00:00 M-SEL 802151 - - - is supergroup

我有一个日志文件,其中包含100000多行数据,而实际上我只关心大约5000行数据。其余的大部分都是垃圾,就像下面的一样。它以一列10万行的形式导入Excel,我无法对任何内容进行定界。我唯一能做的就是搜索所有的“M-SEL”并将其更改为“M-SEL”(与SAC线相同),然后这开始给我一些东西来界定和分类。有没有比我上面列出的更优雅的解决方案(VBA或过滤技术?)

00:00:00                      M-SEL  802151  - - -   is supergroup
00:00:01                 SAC REJECT  - - -   800508  508 is not a valid     group id

使用此宏可以基于多个空格拆分列:

Sub importLog()
    Dim record As String, i As Long, sh As Worksheet, len1 As Long, len2 As Long, ar
    Set sh = Worksheets.Add
    Open "C:\SO\mylog.txt" For Input As #1 ' <-- Enter your file's name here
    Do Until EOF(1)
        Line Input #1, record
        Do
            len1 = Len(record)
            record = Replace(record, "   ", "  ")
            len2 = Len(record)
        Loop Until len2 = len1
        If len1 > 1 Then
            i = i + 1
            ar = Split(record, "  ")
            sh.Cells(i, 1).Resize(1, UBound(ar) + 1).value = ar
        End If
    Loop
    Close #1
End Sub
Sub-importLog()
Dim记录为字符串,i为长,sh为工作表,len1为长,len2为长,ar
设置sh=工作表。添加

打开“C:\SO\mylog.txt”以输入为#1“文本文件的结构如何?每个记录的行数是否固定且已知?或者时间模式是记录的分隔符?每个时间戳一行。因此,在Excel中,它看起来像约100000行和1列。好消息似乎是,不同列之间有“两个空格”。如果这是真的,那么解决办法可能很简单。你能验证一下吗?它也可能是一个
选项卡
!这不是账单。如果是多个空格,你会如何划分?如果我试图在空间上划界,它会把所有东西都切碎,变得无法使用。我将它加载到Notepad++中,在时间和下一位文本之间没有显示任何选项卡和23个空格。现在,如果我能划出23个空格,我们就都准备好了!效果很好。谢谢你的解决方案。