将iPython笔记本中的表复制到Word中?

时间:2016-05-11 11:46:50

标签: ios ms-word ipython

我想将一张表从iPython笔记本复制到Word文档中。我使用Word for Mac 2011.该表是标准的pandas输出,如下所示:

enter image description here

如果我使用Apple + C复制表格,然后将其粘贴到Word文档中,我会得到:

enter image description here

当然必须有一种更简单的方法吗?

在Word中创建一个具有相同行数/列数的表,然后尝试粘贴其中的单元格也不起作用。

我想我可以截图表格,但如果可能的话,我想将原始数据包含在文档中。

1 个答案:

答案 0 :(得分:0)

这种情况下的问题(从Word的角度来看)不是表格布局 - 它是段落布局。每个段落左右都有一个实质性的缩进,比你通常想要的更多空间。

我不认为Word中的任何粘贴选项(例如选择性粘贴)会有所帮助,除非您粘贴为无格式文本,然后选择文本,转换为表格,然后从那里继续。

但是,即使像这样一个简单的Word VBA宏也会让你有一些更容易管理的东西。 (选择您复制的表,然后运行宏)。对代码进行一些更多的工作可能会让您在大多数情况下获得所需的大部分格式。

Sub fixupSelectedTable()
With Selection.Tables(1).Range.ParagraphFormat
  .LeftIndent = 0
  .RightIndent = 0
  .SpaceBefore = 0
  .SpaceAfter = 0
  .LineSpacingRule = wdLineSpaceSingle
End With
End Sub  

如果您对Applescript更熟悉,那么等效内容如下:

-- you may need to fix up the application name
-- (I use this to ensure that the script uses the Open Word 2011 doc
-- and does not try to start Word for Mac 15 (2016))
tell application "/Applications/Microsoft Office 2011/Microsoft Word.app"
    tell the paragraph format of the text object of table 1 of the text object of the selection
        set paragraph format left indent to 0
        set paragraph format right indent to 0
        set space before to 0
        set space after to 0
        set line spacing rule to line space single
    end tell
end tell