Как я могу экспортировать таблицы в Excel из простого текстового источника?

323
Calaf

Вопрос

Если кто-то запрашивает документ и указывает, что это должен быть документ Word, хотя он будет настолько простым, что будет иметь только несколько заголовков разделов, я, к счастью, не должен использовать Word со своей стороны и могу написать текстовый файл.

= Title  == Introduction text  == Body text  == Conclusion text 

и обработайте его asciidoctor, а затем pandoc для получения необходимого файла .docx.

Теперь предположим, что кто-то запрашивает несколько чисел и указывает, что они должны быть в документе Excel только потому, что числа будут организованы в таблицу. Как я могу сгенерировать такой файл из текстового источника на моей стороне?

Emacs

В Emacs я могу использовать

  • Режим SES,
  • csv-mode (Cx Ca и Cx Cu особенно полезны),
  • Mx стол-вкладыш,
  • или даже просто операции с прямоугольниками (Cx rt и т. д.).

Есть ли способ экспортировать любой из них в формат Excel (XML)?

---- Не ищу ...----

Другие таблицы

Я знаком с Google Sheets. Здесь я не прошу заменить программу для работы с электронными таблицами другой программой для работы с электронными таблицами. Я спрашиваю, существует ли набор инструментов (похожий на asciidoctor + pandoc), который будет надежно генерировать электронную таблицу, когда данные предельно просты.

Онлайн-сервисы

Я также не заинтересован в веб-сервисах, которые выполняют конвертацию. Это будет плохой вариант, как из-за потери конфиденциальности, так и из-за того, что листы Excel могут содержать код VBA. Код VBA возможно ограничен, я не уверен. Тем не менее, это неприятный вариант.

0
@CharlieRB ... и рекурсивно. :) Calaf 6 лет назад 0

1 ответ на вопрос

1
L Selter

Я бы использовал CSV,

Существует несколько инструментов в зависимости от вашей платформы / среды.

Для Linux есть: https://linux.die.net/man/1/ssconvert есть несколько онлайн-конвертеров, и если у вас есть доступ к использованию приложения для работы с электронными таблицами, большинство из них можно открыть и сохранить как .xls (x).

Python Pandas также может читать и писать оба, поэтому можно использовать очень быстрый скрипт:

import pandas as pd file = pd.read_csv("test.csv") pd.DataFrame(file).to_excel("output.xls") 

или для этих счетчиков строк:

import pandas as pd pd.DataFrame(pd.read_csv("test.csv")).to_excel("output.xls") 
Вы идете в правильном направлении с этим ответом, но он требует гораздо больше подробностей. Можете ли вы дать краткое объяснение, как сделать то, что вы предлагаете? CharlieRB 6 лет назад 0
Спасибо за напоминание о том, насколько полезным может быть CSV-режим. Я обновил вопрос. Можете ли вы предложить надежный набор инструментов для преобразования файла CSV в файл Excel? Calaf 6 лет назад 0
Трехстрочный лайнер в Python (с использованием панд) - отличный вариант! Глядя на это ... Calaf 6 лет назад 0
На macOS ssconvert доступен (http://www.rumbud.com/d/how-to-install-gnumeric-and-other-linux-apps-on-mac-osx/) через Homebrew. Хотя это паршивый вариант, потому что он зависит от XQuartz (который нужен Gnumeric). Calaf 6 лет назад 0