2016-05-11 3 views
0

Я хочу скопировать таблицу из ноутбука iPython в документ Word. Я использую Слово для Mac 2011. Таблица представляет собой стандартный вывод панды и выглядит следующим образом:Скопируйте таблицу из ноутбука iPython в Word?

enter image description here

Если я использую Apple + C, чтобы скопировать таблицу, а затем вставьте его в документ Word, Я получаю это:

enter image description here

Конечно, должно быть проще?

Создание таблицы с таким же количеством строк/столбцов в Word, а затем попытка вставить ячейки там тоже не работает.

Я думаю, я мог бы скриншот таблицы, но я хотел бы включить необработанные данные в документ, если это возможно.

+0

Я не знаком ни с чем в этом вопросе для (Win) Слово за исключением, но ... Может вы выводите данные таблицы в формате с разделителями символов? Или как файл или строка? Если да, это может быть вставлено/записано в/в документ и преобразовано в таблицу с использованием метода ConvertToTable объектной модели Word. –

+0

почему нисходящий? – Richard

ответ

0

Проблема в этом случае (с точки зрения Word) - это не макет таблицы - это макет абзаца. Каждый абзац имеет существенный отступ справа и слева и больше места до/после, чем вы обычно хотели бы.

Я не думаю, что какой-либо из параметров Paste (например, Paste Special) в 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 
Смежные вопросы