Объедините файлы значений, разделенных табуляцией (TSV), в электронную таблицу Excel 2007 (XLSX) - PullRequest
1 голос
/ 10 сентября 2009

Мне нужно объединить несколько файлов с разделенными табуляцией значениями (TSV) в электронную таблицу Excel 2007 (XLSX), предпочтительно с использованием Python. Для их объединения не требуется особой хитрости - достаточно просто скопировать каждый файл TSV на отдельный лист в Excel. Конечно, данные должны быть разбиты на столбцы и строки, как в Excel, когда я вручную копирую и вставляю данные в пользовательский интерфейс.

Я посмотрел на необработанный XML-файл, который генерирует Excel 2007, и он огромен и сложен, поэтому писать его с нуля не представляется реалистичным. Есть ли для этого доступные библиотеки?

Ответы [ 3 ]

2 голосов
/ 10 сентября 2009

Похоже, что xlwt может удовлетворить ваши потребности - вы можете прочитать каждый файл TSV с помощью стандартной библиотеки Python csv (который ДЕЙСТВИТЕЛЬНО разделяется табуляцией, а также запятыми и т. Д. , не волнуйтесь! -) и используйте xlwt (возможно, с помощью этой шпаргалки ;-) для создания файла XLS, создания листов в нем, построения каждого листа из данных, которые вы прочитали с помощью csv и т. д. Не уверен насчет XLSX против простой поддержки XLS, но, возможно, XLS может быть достаточно ...?

1 голос
/ 10 сентября 2009

Обратите внимание, что Excel 2007 с радостью будет читать "устаревшие" файлы XLS (написанные в Excel 97-2003 и xlwt). Вам нужны файлы XLSX, потому что .....?

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

Возможно, вы захотите обратиться к xlwt через http://www.python -excel.org , в котором содержится актуальное руководство по xlrd, xlwt и xlutils.

1 голос
/ 10 сентября 2009

Лучший модуль Python для непосредственного создания файлов Excel - xlwt, но он не поддерживает XLSX.

На мой взгляд, ваши варианты:

  1. Если у вас есть только «несколько», вы можете просто сделать это вручную.
  2. Используйте pythonwin для управления Excel через COM. Для этого необходимо запустить код на компьютере Windows с установленным Excel 2007.
  3. Используйте python, чтобы выполнить некоторую предварительную обработку в TSV, чтобы создать формат, который облегчит шаг (1). Я не уверен, что Excel читает TSV, но он, безусловно, будет читать файлы CSV напрямую.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...