在构建数据管道或生成简易报告时,提取 Excel 工作簿的原始文本是常见需求。如果您想了解 如何在 Python 中将 Excel 工作簿转换为文本,GroupDocs.Conversion Cloud SDK for Python 可以轻松实现。本指南将带您完成 SDK 的安装、工作簿的上传、转换选项的配置以及获取纯文本 TXT 结果的全过程。完成后,您将拥有可重复使用的脚本以及一套用于基于 REST 的自动化的 cURL 命令。

开始之前:先决条件和安装

在开始之前,请确保您具备以下内容:

  • Python 3.7 或更高版本已安装在您的机器上。
  • 一个有效的 GroupDocs Cloud 帐户(client ID 和 client secret)。
  • 对 GroupDocs Cloud 端点的网络访问。

通过 pip 安装 SDK:

pip install groupdocs-conversion-cloud

您也可以从官方发布页面下载最新的包。安装后,将凭据设置为环境变量,或稍后在代码中替换占位符。SDK 准备就绪后,您即可开始转换过程。

一步一步构建:如何在 Python 中将 Excel 工作簿转换为文本

第一步:配置凭据

首先,创建一个 Configuration 对象并提供您的客户端 ID 和密钥。此对象用于所有后续的 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:执行转换

使用准备好的设置调用 ConvertApi 的 convert 方法。响应中包含一个用于下载转换后文件的 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 将纯文本文件下载到本地环境,或在您的应用程序中进一步处理它。

Tip: 您可以使用简单的 requests.get() 调用来自动化下载,并通过与转换请求相同的访问令牌进行身份验证。

通过这些步骤,您现在拥有一个完整的工作流,用于 如何在 Python 中将 Excel 工作簿转换为文本,使用 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()

注意: 此代码示例演示了核心功能。在将其用于项目之前,请确保更新所有文件路径和配置值以匹配实际环境,验证已正确安装所有必需的依赖项,并在开发环境中彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。

使用 cURL 和 REST API 将 Excel 转换为文本

如果您更喜欢纯 REST 方法,可以使用 cURL 命令执行相同的转换。

  1. 获取访问令牌
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"
  1. 上传源 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
  1. 开始转换为 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": {}
         }'
  1. 下载已转换的 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 参考中可用;探索它们以满足您的确切需求。

最终思考

在 Python 中将 Excel 工作簿转换为纯文本现在变得简单且可重复,这要归功于 GroupDocs.Conversion Cloud SDK for Python。该 SDK 在幕后处理身份验证、文件存储和转换,让您专注于业务逻辑。请记得在 定价页面 查看授权选项,并在投入生产前获取用于评估的 临时许可证。借助提供的代码和 cURL 示例,您可以将 Excel‑to‑TXT 转换集成到任何基于 Python 的工作流或微服务中。

常见问题

  • 将 Excel 工作簿转换为文本的最简方法是什么(Python)?
    使用 GroupDocs.Conversion Cloud SDK for Python。它抽象了 REST 调用,并提供了简洁的 Pythonic API,用于上传、转换和下载文件。

  • 我可以只转换 Excel 工作簿的特定工作表或页面吗?
    是的。 在 TxtConvertOptions 对象上设置 page_number 和 page_count 以针对特定工作表。有关完整细节,请参阅 API 参考。

  • 我需要 GroupDocs 账户才能使用 SDK 吗?
    需要一个有效的 GroupDocs Cloud 账户,其中包含客户端 ID 和密钥。您可以在 GroupDocs 门户上创建账户,并从仪表板获取凭据。

  • Excel 转 TXT 转换是否有文件大小限制?
    云服务支持的转换文件大小上限为 200 MB。对于更大的文件,建议在上传前将其拆分或分块处理。

进一步阅读