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