制表符分隔文本的复制粘贴导致Excel中出现奇怪的格式?

时间:2014-12-29 18:07:39

标签: excel

我的源文件是制表符分隔的文本文件(* .txt)。我是从* .txt复制粘贴到空白* .xlsx工作簿。我的计算机上安装了Microsoft Office Excel 2010。我的计算机上安装了notepad ++。

制表符分隔的文本文件是使用" \ t"的普通文本文件。制表符将数值分隔为列。例如:

0   0   0.5528369
0   1   0.0
1   0   0.1230636
1   1   0.0
1   0   0.2113225
1   1   0.0
3   0   0.0752651
3   1   0.0

使用相同的示例,这是一个显示源文件中字符的屏幕截图:

enter image description here

问题#1:在从文本文件复制粘贴到工作表之后,excel会删除标签,将每行文本压缩在一起,例如:

enter image description here

作为一种解决方法,我在Notepad ++中使用文本替换功能,用逗号替换源文本中的每个选项卡。此操作会产生如下所示的内容:

0,  0,  0.5528369
0,  1,  0.0
1,  0,  0.1230636
1,  1,  0.0
1,  0,  0.2113225
1,  1,  0.0
3,  0,  0.0752651
3,  1,  0.0

复制/粘贴后用逗号来表示这个版本,我现在能够执行excel函数Data-> Text-to-columns。但是,这也存在问题。

问题#2:粘贴到excel的文本副本不会被视为数字。将数据类型从常规切换到数字不起作用。它仍然是文本。仔细观察,似乎Excel在每个数字的末尾添加了空格,这禁止它将其识别为数字。例如:

enter image description here

目前我不得不手动编辑excel中的每个单元格以删除多余的空格,这样我就可以将类型设置为数字。

这两个问题都源于执行琐碎的复制粘贴操作,我无法理解它们为什么会发生或如何以直接的方式解决它们。我想如上所述将粘贴复制到excel,而不会出现任何问题。

2 个答案:

答案 0 :(得分:0)

此解决方案解决了这两个问题。

尽管文本被压缩在一起,如OP所示,制表符仍然在字符串中。话虽如此,解决方案是:

1)将粘贴复制到单元格A1中(文本会出现挤压在一起)

2)选择A列

3)选择Data-> Text-to-columns,然后在对话框窗口中选择制表符分隔格式

4)点击完成

5)在A-> C列中选择数据,并将类型从General更改为Number。

为什么Excel旨在将文本压缩在一起并不是很明显。这给人以误导性的印象,即标签字符已被剥离。但是,标签字符在那里。此外,在应用文本到列之后,现在可以将每个单元格中的值从“常规”转换为“数字”类型而不会出现问题(结尾处没有添加空格)。

答案 1 :(得分:0)

此解决方案避免了使用文本到列

我遇到了同样的问题。我在<pre>标记内将数据输出到浏览器。我还在数据列之间使用\t。当我粘贴到excel中时,所有内容都进入一列。

我将数据粘贴到notepad ++中,以确保选项卡位于所有列之间,并且足够确定它们位于! 然后我从记事本++复制数据并将其粘贴到excel中,并按预期工作!

注意:您可以使用常规的记事本获得相同的效果


发现更好的解决方案 here是,您可以将数据输出到<textarea>中,然后从中复制。发现有效的原因here,以及对实际情况的解释。