在构建数据管道或生成简易报告时,提取 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 命令执行相同的转换。
- 获取访问令牌
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 参考中可用;探索它们以满足您的确切需求。
最终思考
在 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。对于更大的文件,建议在上传前将其拆分或分块处理。
