在 Python 中使用 REST API 将 Excel 转换为 CSV

在本文中,我们将探索各种快速高效的方法,将数据从 Excel 导出到云上的 CSV。我们使用 Excel 文件以表格形式维护发票、分类帐、库存、账户和其他数据。另一方面,CSV(逗号分隔值)文件将表格数据(数字和文本)存储为纯文本,并使用逗号分隔值。在 CSV 中,文件中的每一行都是一条数据记录,每条记录由一个或多个字段组成,字段之间以逗号分隔。 Excel 到 CSV 的转换允许将数据导入其他应用程序。本文将重点介绍如何使用 Python 中的 REST API 将 Excel 文件转换为 CSV。

本文应涵盖以下主题:

Excel 到 CSV 转换 REST API 和 Python SDK

为了将 XLSX 转换为 CSV,我们将使用 GroupDocs.Conversion Cloud 的 Python SDK API。它使我们能够将任何支持的文件格式 的文档和图像无缝转换为我们需要的任何格式。请在控制台中使用以下命令安装它:

pip install groupdocs_converison_cloud

在执行上述步骤之前,请从仪表板获取您的客户端 ID 和密码。获得 ID 和密码后,添加如下所示的代码:

# 下面的代码示例演示了如何在代码中添加 Client id 和 secret。
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_conversion_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

在 Python 中使用 REST API 将 Excel 转换为 CSV

按照下面给出的简单步骤,我们可以轻松地将 Excel 文件转换为云上的 CSV:

  1. 上传 XLSX 文件到云端。
  2. 将 Excel 转换为 CSV
  3. 下载 转换后的 CSV 文件。

上传 Excel 文件

首先,我们将使用以下代码示例将 XLSX 文件上传到云端:

# 此代码示例演示如何将 XLSX 文件上传到云。
# 创建 API 实例
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# 上传文件请求
request = groupdocs_conversion_cloud.UploadFileRequest("Sample.xlsx", "C:\\Files\\Conversion\\Sample.xlsx", my_storage)

# 上传示例文件
response = file_api.upload_file(request)

因此,上传的 XLSX 文件将在云端仪表板的 文件部分 中可用。

在 Python 中将 Excel 转换为 CSV

现在,我们将按照以下步骤以编程方式将上传的 XLSX 转换为 CSV:

  • 创建 ConvertApi 的实例。
  • 初始化 ConvertSettings 对象。
  • 设置 XLSX 文件路径。
  • 将“csv”分配给格式。
  • 提供输出文件路径。
  • 使用 ConvertSettings 创建 ConvertDocumentRequest。
  • 通过调用 convert\document() 方法进行转换。

以下代码示例展示了如何在 Python 中使用 REST API 将 Excel 文件转换为 CSV。

# 此代码示例演示如何将 Excel 转换为 CSV。
# 创建必要的 API 实例
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# 准备转换设置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "Sample.xlsx"  # Input file
settings.format = "csv"             # Output format
settings.output_path = "output"     # Folder path to save converted file

# 转换文档请求
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# 转换文档
result = convert_api.convert_document(request)

# 完毕
print("Document converted: " + result[0].path)
使用 Python 中的 REST API 将 Excel 转换为 CSV。

使用 Python 中的 REST API 将 Excel 转换为 CSV。

下载转换后的文件

上面的代码示例会将转换后的 CSV 文件保存在云端。可以使用以下代码示例下载它:

# 此代码示例演示了如何从云端下载 CSV。
# API初始化
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# 下载文件请求
request = groupdocs_conversion_cloud.DownloadFileRequest("output/Sample.csv", my_storage)

# 下载文件
response = file_api.download_file(request)

# 将下载的文件移动到您的工作目录
shutil.move(response, "C:\\Files\\Conversion\\")

将 Excel 转换为 CSV 并直接下载文件

我们可以按照以下步骤将 XLSX 转换为 CSV 并直接下载转换后的 CSV 文件:

  • 首先,创建一个 ConvertApi 的实例。
  • 接下来,定义 ConvertSettings 并设置上传的 XLSX 文件路径。
  • 然后,将“csv”分配给格式。
  • 将输出文件路径设置为无。
  • 之后,使用 ConvertSettings 作为参数创建 ConvertDocumentRequest。
  • 最后调用convert\document\download()方法将转换后的文件保存到本地磁盘。

以下代码示例显示了如何将 Excel 文件转换为 CSV 文件并使用 Python 中的 REST API 直接下载它。 API 应返回转换后的 CSV 文件作为响应。请按照前面提到的步骤上传文件。

# 此代码示例演示如何将 Excel 转换为 CSV 并直接下载转换后的文件。
# 创建必要的 API 实例
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# 准备转换设置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.xlsx"
settings.format = "csv"
settings.output_path = None    # leave OutputPath will result the output as document IOStream

# 准备请求
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# 转换和下载
response = convert_api.convert_document_download(request)

# 将下载的文件移动到您的工作目录
shutil.move(response, "C:\\Files\\Conversion\\")

不使用云存储的 Excel 到 CSV 转换

我们还可以按照以下步骤在不使用云存储的情况下将 Excel 文件转换为 CSV:

  • 首先,创建一个 ConvertApi 的实例。
  • 接下来,使用目标格式创建 ConvertDocumentDirectRequest 并输入 XLSX 文件路径作为参数。
  • 然后,以 ConvertDocumentDirectRequest 作为参数调用 convert\document\direct() 方法。
  • 最后,使用 FileStream.writeFile() 方法将转换后的输出 CSV 文件保存到本地路径。

以下代码示例展示了如何在不使用 Python 云存储的情况下将 XLSX 转换为 CSV。这意味着我们将在请求正文中传递输入文件,并在 API 响应中接收输出文件。

# 此代码示例演示如何在不使用云存储的情况下将 Excel 转换为 CSV。
# 创建必要的 API 实例
convert_api = groupdocs_conversion_cloud.转变Api.from_keys(client_id, client_secret)

# 准备请求
request = groupdocs_conversion_cloud.转变DocumentDirectRequest("csv", "C:\\Files\\Conversion\\sample.xlsx")

# 转变
result = convert_api.convert_document_direct(request)

# 将下载的文件移动到您的工作目录
shutil.move(result, "C:\\Files\\Conversion\\")

在 Python 中使用 REST API 将 CSV 转换为 Excel

我们还可以将逗号分隔的数据从 CSV 文件导出到云端的格式良好的 Excel 文件中。要将 CSV 转换为 Excel,请按照以下步骤操作:

  • 首先,创建一个 ConvertApi 的实例。
  • 接下来,使用目标格式创建 ConvertDocumentDirectRequest 并输入 CSV 文件路径作为参数。
  • 然后,以 ConvertDocumentDirectRequest 作为参数调用 convert\document\direct() 方法。
  • 最后,使用 FileStream.writeFile() 方法将转换后的输出 XLSX 文件保存到本地路径。

以下代码示例显示了如何在 Python 中使用 REST API 将 CSV 转换为 Excel 文件。

# 此代码示例演示如何将 CSV 转换为 Excel。
# 创建必要的 API 实例
convert_api = groupdocs_conversion_cloud.转变Api.from_keys(client_id, client_secret)

# 准备请求
request = groupdocs_conversion_cloud.转变DocumentDirectRequest("xlsx", "C:\\Files\\Conversion\\sample.csv")

# 转变
result = convert_api.convert_document_direct(request)

# 将下载的文件移动到您的工作目录
shutil.move(result, "C:\\Files\\Conversion\\")

在线试用

请试用以下免费的在线 XLSX 到 CSV 和 CSV 到 XLSX 转换工具,它们是使用上述 API 开发的。

结论

在本文中,我们学习了如何:

  • 在 Python 中将 Excel 转换为 CSV,将 CSV 转换为 Excel;
  • 将 XLSX 转换为 CSV 并直接下载转换后的文件;
  • 不使用云存储的 XLSX 到 CSV 转换;
  • 以编程方式将 XLSX 文件上传到云端;
  • 从云端下载 CSV 文件。

此外,您可以使用 文档 了解有关 GroupDocs.Conversion Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看