将制表符分隔的数据复制到 shell 之外

将制表符分隔的数据复制到 shell 之外

我已经发布了这个询问不同,但没有运气。如果超出范围,很高兴删除。


所以我正在运行一些Python脚本来打印制表符分隔的数据(即在命令\t期间添加字符print)。

问题

  • 我正在尝试将制表符分隔的数据从 shell/终端复制到 Excel Mac 或其他电子表格应用程序中,希望它们能够识别制表符分隔并将项目放入单独的单元格中

这是行不通的;但是,如果我先将文本复制到 Atom 或 Emacs 等编辑器中,然后再复制到 Excel 中,它会将制表符识别为分隔符。

  • 为什么它与附加步骤一起工作?
  • 文本编辑器是否会改变选项卡的性质?如何在终端中模拟这种行为?

例子:

print "123\tbeetle\t12.4\n200\tbutterfly\t1.2\n"

结果:

从终端复制到 Excel:

直接复制到Excel

从终端复制到文本编辑器,然后复制到 Excel 中:

通过文本编辑器复制

任何帮助深表感谢!我知道有更优雅的方法可以做到这一点,但这仍然是我想弄清楚的事情。

我发现了一个有点相似但未解决的问题这里

Mac 版运行 Python 2.7.13、Sierra 10.12.6、Excel 2016

答案1

这可能是您的终端应用程序的限制。相比之下,选项卡从我的 (Linux) 终端复制得很好。也许你可以尝试不同的模拟器? (我听说过一些好消息iTerm2.)

或者,您可以直接通过管道输入剪贴板。我相信 OS X 上的命令是pbcopy. IE

print "123\tbeetle\t12.4\n200\tbutterfly\t1.2\n" | pbcopy

相关内容