-1

Привет я хотел бы иметь возможность извлечь данные из файла Excel. В отличие от «экспорта», извлечение каким-то образом откроет файл Excel, прочитает все ячейки в определенном диапазоне строк-столбцов и запишет содержимое этих ячеек в файл .txt. Содержимое диапазона является либо числовым, либо текстовым, поэтому нет проблем с преобразованием.

Я бы предпочел сделать это, не заходя в Excel и не используя save-as или copy-paste.

Моя среда - OS X Yosemite, и я счастлив попробовать Python или bash, чтобы сделать это. В настоящее время для этого используется Excel 2011, хотя доступны более поздние версии Office для Mac.

Спасибо!

1 ответ1

0

openpyxl - это библиотека Python для чтения и управления файлами .xlsx . Пример использования приведен на странице документации:

>>> from openpyxl import load_workbook
>>> wb = load_workbook(filename = 'empty_book.xlsx')
>>> sheet_ranges = wb['range names']
>>> print(sheet_ranges['D18'].value)
3

пример

from openpyxl import load_workbook

wb = load_workbook(filename = 'sample.xlsx')
ws = wb['Sheet1']

with open('sample.txt', 'w') as f:
    myrange = ws['A1':'C4']
    for c1, c2, c3 in myrange:
        print(c1.value, c2.value, c3.value, file=f)

Пример электронной таблицы

Этот лист с именем Sheet1 создает текстовый файл с таким выводом:

1 5 Nine
Two Six 1923-01-07 00:00:00
3 7 Tiger
40 8 Lion

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .