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

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

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


person EMP    schedule 10.09.2009    source источник


Ответы (3)


Похоже, xlwt может удовлетворить ваши потребности — вы можете прочитать каждый TSV-файл с помощью стандартной библиотеки Python < модуль href="http://docs.python.org/library/csv.html" rel="nofollow noreferrer">csv (который ДЕЙСТВИТЕЛЬНО разделяет табуляцию, а также запятую и т. д., не не беспокойтесь!-) и используйте xlwt (возможно, с помощью этой шпаргалки;-) для создания файл XLS, создавать в нем листы, строить каждый лист из данных, которые вы читаете через csv, и т. д. Не уверен насчет поддержки XLSX и простого XLS, но, может быть, XLS может быть достаточно...?

person Alex Martelli    schedule 10.09.2009

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

Как я вижу, ваши варианты:

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

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

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

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

person John Machin    schedule 10.09.2009