2015-09-21 30 views
0

使用非常基本的SQL编辑器我已经提取了一串或多或少的相当于30万行的字符串到Mac终端中。我想把这个很长的字符串分成两行(每个条目有大约15个不同的元素,但现在都粘在一起),还有列。将很长的字符串拆分为行和列

目前的数据格式是这样,一些子场只有一个字,和其他文本的冗长块:

(u'A“u'B” u'C” U 'dfhudhf isduh,fdiu fdjfoidjofiod' u'D '),(u'A' u'B 'u'C' u'dfhudhf isduh,fdiu fdjfoidjofiod 'u'D '),(u'A' u'B' U 'C' u'dfhudhf isduh,fdiu fdjfoidjofiod 'u'D')等

)' (随着作为不同行之间的分隔符,且u'作为分隔符用于不同领域!复制到Excel最终只是一个非常长的字符串,并没有真正听取文本到列的命令。

我一直试图在Excel分裂,但我不能管理,使其工作。如果有其他软件更好用,我也很乐意尝试。

+0

欢迎来到SO。请发布您的预期结果(它的外观)。 – ManishChristian

+0

很难知道没有看到您的文件,但经常访问更好地处理数据提取 - 这可能有助于在两个方向分隔。 – Trum

+0

你可以在Dropbox共享(或类似的)的单元格A1中发布带有此字符串的工作表吗? –

回答

0

请试试这个,让我知道它是如何做到的。

这假定您的字符串位于活动工作表上的单元格A1中。

这将处理字符串,并输出在相同的片材作为源串的3行开始的数据的表。

放置在一个标准代码模块下面的过程:

Public Sub mouse() 
    Dim i&, j&, s$, r, c, w 
    s = Replace([a1], " ", "") 
    r = Split(s, "),(") 
    ReDim w(1 To UBound(r) + 1, 1 To 1000) 
    For i = 0 To UBound(r) 
     c = Split(r(i), "u'") 
     For j = 1 To UBound(c) 
      w(i + 1, j + 1) = Replace(Replace(c(j), "'", ""), ")", "") 
     Next 
    Next 
    [a3].Resize(UBound(w, 1), UBound(w, 2)) = w 
End Sub 

切换回片材在单元格A1的长字符串。

按Alt-F8打开宏对话框。

运行mouse

+0

@MisterMouse完成这项工作? –

0

大部分在@Exel英雄(但保留空格)相同的结果,如果复制到Word中,用^t取代u',更换), (^p和文本转换为表...(可能是默认设置),然后复制到Excel中。