Простой текстовый редактор для ввода данных в виде электронных таблиц.

Я ввожу много данных, которые в конечном итоге будут сохранены в виде текстовых файлов с разделителями-запятыми (.csv). В настоящее время я использую Excel, но часто обнаруживаю, что он автоматически форматирует данные ненадлежащим образом и в основном излишним для того, что мне нужно.

Существует ли простая программа для работы с электронными таблицами, которая:

  • разрешить ввод текста

  • разрешить простую навигацию по ячейкам (например, с помощью клавиш со стрелками)

  • разрешить копирование и вставку в/из нескольких ячеек

  • открывать и сохранять текстовые файлы

  • работать на Linux и Mac

  • быть свободным (пиво и речь)?

Я уже пробовал клоны Excel (Gnumeric, OpenOffice и LibreOffice), и они страдают теми же проблемами, что и Excel: они слишком многофункциональны.

Ответы (1)

Я бы предложил загрузить wxPython (вполне вероятно, что он уже установлен как на Mac, так и на Linux), а также демонстрацию wxPython и взглянуть на SimpleGrid.py там, добавить загрузку и сохранение файла для csv тривиально, учитывая, что Python поставляется с обширной библиотекой csv, и вы найдете, как добавить копирование/вставку/всплывающее меню и т. д. в другом месте демонстрации.

В итоге вы должны получить свой собственный пользовательский редактор csv, который делает именно то, что вам нужно, в общей сложности около 300 строк кода, большая часть которых уже есть в этой демонстрации.

Скриншот из демо

Один и тот же код будет работать на Mac, Linux и Windows везде, где выполняются предварительные условия, например: Python 2.7.x (установлен по умолчанию в Max и большинстве дистрибутивов Linux) и wxPython (то же самое во многих), а также может быть запущен с USB-накопителя. key в Windows практически на любом компьютере с Windows с помощью Portable Python .

Размеры загрузки

  • Windows 32
  • Mac OS X
    • Python 2.7.x является компонентом по умолчанию, но если он отсутствует, его можно загрузить отсюда .
    • Carbon & Coca wxPython, если он еще не установлен , скачивается здесь — 40,9 МБ.
    • Документы и демонстрации OS-X здесь — 36,8 МБ.
  • линукс

    • Python уже должен быть установлен или может быть добавлен с помощью менеджера пакетов.
    • wxPython — установить с помощью менеджера пакетов, см. здесь , или установить из исходников — исходник 67,6 МБ.
    • wxPython Docs (21,4 МБ) HTML здесь .
    • Демонстрации wxPython (4 МБ) скачать как исходники здесь .
  • Портативный Python

    • Установщик для USB-ключа находится здесь — он сгенерирует USB-ключ с python, wxPython и, если вы хотите, еще огромную кучу материалов на python — 237 МБ загружаемого установленного размера: на основе выбранных пакетов, от 50 МБ до 850 МБ.
    • Установите на USB-ключ (или жесткий диск) и скопируйте в свой собственный редактор, и вы готовы идти куда угодно.

Обратите внимание, что существуют отдельно загружаемые библиотеки (по 10 КБ каждая, но включенные в Portable Python), называемые xlrd и xlwt, которые позволяют читать и записывать, соответственно, файлы Excel XLSX, поэтому вы можете добавить это как вариант.

Вы получите очень мощный набор инструментов для манипулирования вашими данными для относительно небольших загрузок, и вы откроете целый новый мир в процессе, например: SciPy (научная библиотека), Numpy (базовый пакет N-мерных массивов, конкурирующий с Matlab), Pandas (манипулирует огромными сложными наборами данных), MatPlotLib (2D и 3D-графики), и все это БЕСПЛАТНО . Имейте в виду, что вы можете в конечном итоге отказаться от Excel.

Отказ от ответственности

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

Прокрутка вашей собственной программы для работы с электронными таблицами вокруг расширенного стека Scipy — отличная идея.
@Oxinabox - есть также проект Pyspread ( manns.github.io/pyspread ), где каждая ячейка представляет собой объект python или scipy, который может получить доступ к другим ячейкам....