Извлечение необработанного текста из книг Excel часто требуется при построении конвейеров данных или создании простых отчетов. Если вам нужно узнать как конвертировать книгу Excel в текст на Python, GroupDocs.Conversion Cloud SDK for Python делает это простым. Это руководство проведёт вас через установку SDK, загрузку книги, настройку параметров конвертации и получение простого результата в формате TXT. К концу вы получите переиспользуемый скрипт и набор команд cURL для автоматизации на основе REST.
Прежде чем начать: Предварительные требования и установка
Прежде чем начать, убедитесь, что у вас есть следующее:
- Python 3.7 или новее, установленный на вашем компьютере.
- Активный аккаунт GroupDocs Cloud (client ID и client secret).
- Сетевой доступ к конечным точкам GroupDocs Cloud.
Установите SDK с помощью pip:
pip install groupdocs-conversion-cloud
Вы также можете загрузить последнюю версию пакета со страницы официального релиза. После установки задайте свои учётные данные как переменные окружения или позже замените заполнители в коде. С готовым SDK вы готовы начать процесс конвертации.
Создание пошагово: Как преобразовать книгу Excel в текст с помощью Python
Шаг 1: Настройка учетных данных
Сначала создайте объект Configuration и укажите ваш client ID и secret. Этот объект используется всеми последующими вызовами API.
import os
from groupdocs_conversion_cloud import Configuration
client_id = os.getenv("GROUPDOCS_CLIENT_ID", "YOUR_CLIENT_ID")
client_secret = os.getenv("GROUPDOCS_CLIENT_SECRET", "YOUR_CLIENT_SECRET")
config = Configuration()
config.client_id = client_id
config.client_secret = client_secret
Класс Configuration задокументирован в справочнике API.
Шаг 2: Загрузить рабочую книгу Excel
Загрузите локальный файл Excel в хранилище GroupDocs Cloud. Этот шаг необязателен, если ваш файл уже находится в облаке.
from groupdocs_conversion_cloud import ApiClient, UploadFileApi, UploadFileRequest
api_client = ApiClient(config)
upload_api = UploadFileApi(api_client)
local_excel_path = "sample.xlsx"
remote_excel_path = "sample.xlsx"
with open(local_excel_path, "rb") as f:
upload_request = UploadFileRequest(
path=remote_excel_path,
file=f.read()
)
upload_api.upload_file(upload_request)
UploadFileApi обрабатывает передачу файлов; см. его документацию для получения более подробной информации.
Шаг 3: Определить параметры конвертации
Создайте объект TxtConvertOptions, чтобы указать любые необязательные параметры, такие как диапазон страниц. Затем создайте объект ConvertSettings, который связывает всё вместе.
from groupdocs_conversion_cloud import (
FileInfo,
TxtConvertOptions,
ConvertSettings,
)
file_info = FileInfo()
file_info.file_path = remote_excel_path
txt_options = TxtConvertOptions()
# txt_options.page_number = 1 # Uncomment to start from a specific page
# txt_options.page_count = 1 # Uncomment to limit the number of pages
convert_settings = ConvertSettings()
convert_settings.file_info = file_info
convert_settings.format = "txt"
convert_settings.output_path = "sample.txt"
convert_settings.options = txt_options
Класс TxtConvertOptions позволяет точно настроить преобразование; обратитесь к официальной документации для получения всех доступных полей.
Шаг 4: Выполнить конвертацию
Вызовите метод convert объекта ConvertApi с подготовленными настройками. Ответ содержит URL для загрузки преобразованного файла.
from groupdocs_conversion_cloud import ConvertApi, ApiException
convert_api = ConvertApi(api_client)
try:
conversion_result = convert_api.convert(convert_settings)
print(f"Conversion succeeded. Download URL: {conversion_result.url}")
except ApiException as e:
print(f"Conversion failed: {e}")
Если вызов выполнен успешно, вы получите прямую ссылку для загрузки файла TXT.
Шаг 5: Получить результат
Используйте URL из предыдущего шага, чтобы загрузить файл простого текста в вашу локальную среду или обработать его дальше в вашем приложении.
Подсказка: Вы можете автоматизировать загрузку с помощью простого вызова
requests.get(), обрабатывая аутентификацию с тем же токеном доступа, который используется для запроса конвертации.
С этими шагами у вас теперь есть полный рабочий процесс как преобразовать книгу Excel в текст на Python с использованием библиотеки GroupDocs.
Преобразование текста в рабочей книге Excel — полный пример кода
Следующий пример демонстрирует полную реализацию от начала до конца.
import os
from groupdocs_conversion_cloud import (
Configuration,
ApiClient,
UploadFileApi,
UploadFileRequest,
ConvertApi,
ConvertSettings,
FileInfo,
TxtConvertOptions,
ApiException,
)
def main():
# ----------------------------------------------------------------------
# 1. Configure credentials (replace placeholders or set env variables)
# ----------------------------------------------------------------------
client_id = os.getenv("GROUPDOCS_CLIENT_ID", "YOUR_CLIENT_ID")
client_secret = os.getenv("GROUPDOCS_CLIENT_SECRET", "YOUR_CLIENT_SECRET")
config = Configuration()
config.client_id = client_id
config.client_secret = client_secret
api_client = ApiClient(config)
# ----------------------------------------------------------------------
# 2. Upload local Excel workbook to GroupDocs Cloud storage (optional)
# ----------------------------------------------------------------------
local_excel_path = "sample.xlsx" # path to the Excel file on your machine
remote_excel_path = "sample.xlsx" # path where the file will be stored in the cloud
upload_api = UploadFileApi(api_client)
try:
with open(local_excel_path, "rb") as f:
upload_request = UploadFileRequest(
path=remote_excel_path,
file=f.read()
)
upload_api.upload_file(upload_request)
print(f"Uploaded '{local_excel_path}' to cloud storage as '{remote_excel_path}'.")
except (ApiException, IOError) as e:
print(f"Failed to upload file: {e}")
return
# ----------------------------------------------------------------------
# 3. Prepare conversion settings to transform Excel → plain text
# ----------------------------------------------------------------------
convert_api = ConvertApi(api_client)
file_info = FileInfo()
file_info.file_path = remote_excel_path # source file in cloud storage
txt_options = TxtConvertOptions()
# (optional) you can limit conversion to specific pages:
# txt_options.page_number = 1
# txt_options.page_count = 1
convert_settings = ConvertSettings()
convert_settings.file_info = file_info
convert_settings.format = "txt" # target format
convert_settings.output_path = "sample.txt" # result file name in cloud storage
convert_settings.options = txt_options
# ----------------------------------------------------------------------
# 4. Execute conversion
# ----------------------------------------------------------------------
try:
conversion_result = convert_api.convert(convert_settings)
# The result contains a URL to download the converted file
print(f"Conversion succeeded. Download URL: {conversion_result.url}")
except ApiException as e:
print(f"Conversion failed: {e}")
if __name__ == "__main__":
main()
Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили все пути к файлам и значения конфигурации в соответствии с вашей реальной средой, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с какими‑либо проблемами, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.
Преобразование Excel в текст с использованием cURL и REST API
Если вы предпочитаете чистый REST‑подход, то ту же конверсию можно выполнить с помощью команд cURL.
- Получить токен доступа
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Загрузите исходный файл Excel
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/sample.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @sample.xlsx
- Начните преобразование в TXT
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": { "filePath": "sample.xlsx" },
"format": "txt",
"outputPath": "sample.txt",
"options": {}
}'
- Скачать преобразованный файл TXT
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/sample.txt" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o sample.txt
Эти команды иллюстрируют полный жизненный цикл от аутентификации до загрузки. Для дополнительных параметров и обработки ошибок обратитесь к справочнику API.
Настройка параметров конвертации для Excel
SDK предлагает несколько вариантов настройки вывода. Ниже перечислены наиболее полезные параметры для преобразования Excel‑to‑TXT.
- Номер страницы - Начать конвертацию с конкретного листа или страницы.
txt_options.page_number = 1 - Количество страниц - Ограничить количество листов/страниц для конвертации.
txt_options.page_count = 2 - Путь вывода - Задать имя и расположение результирующего TXT‑файла в облачном хранилище.
convert_settings.output_path = "output/sample.txt"
Другие расширенные параметры, такие как encoding или preserveFormatting, доступны в справочнике API; изучите их, чтобы соответствовать вашим точным требованиям.
Заключительные мысли
Конвертация книги Excel в обычный текст в Python теперь стала простым, повторяемым процессом благодаря GroupDocs.Conversion Cloud SDK for Python. SDK обрабатывает аутентификацию, хранение файлов и конвертацию в фоновом режиме, позволяя вам сосредоточиться на бизнес‑логике. Не забудьте ознакомиться с вариантами лицензирования на странице цен и получить временную лицензию для оценки перед переходом в продакшн. С предоставленными примерами кода и cURL вы можете интегрировать конвертацию Excel‑в‑TXT в любой рабочий процесс или микросервис на Python.
Общие вопросы
Какой самый простой способ конвертировать книгу Excel в текст на Python?
Используйте GroupDocs.Conversion Cloud SDK for Python. Он абстрагирует REST‑вызовы и предоставляет чистый Python‑ориентированный API для загрузки, конвертации и скачивания файлов.Могу ли я конвертировать только определённые листы или страницы Excel‑книги?
Да. Установитеpage_numberиpage_countв объектеTxtConvertOptions, чтобы выбрать конкретные листы. См. справку API для получения полной информации.Нужен ли мне аккаунт GroupDocs для использования SDK?
Требуется действующий аккаунт GroupDocs Cloud с client ID и secret. Вы можете создать аккаунт на портале GroupDocs и получить учетные данные с dashboard.Есть ли ограничение по размеру файла при конвертации Excel в TXT?
Облачный сервис поддерживает файлы размером до 200 МБ для конвертации. Большие файлы следует разбивать или обрабатывать частями перед загрузкой.
