You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Excel导出哪些格式可被AWS Glue正确爬取并解析?

解决Excel导出文件与AWS Glue爬虫兼容问题的可行格式

我完全懂你的无语——Excel这么普及的工具,和AWS Glue的兼容性居然这么拉胯,确实让人摸不着头脑😂。除了手动转UTF-8文本之外,还有几种导出格式能让Glue爬虫正确识别并解析,给你整理一下:

1. UTF-8编码的CSV(最直接的方案)

其实不用手动编辑每个文件,Excel本身就支持导出UTF-8编码的CSV:

  • 打开Excel文件,选择「文件」→「另存为」
  • 在「保存类型」里选择**「CSV UTF-8(逗号分隔)(*.csv)」**
  • 保存后上传到S3,Glue的内置CSV分类器就能正确识别编码和格式,爬虫会自动分类,不会出现乱码或识别失败的问题。

这是最省心的方案,因为CSV是Glue原生支持的格式,而且导出步骤简单,不需要额外工具。

2. Parquet格式(高效且原生支持)

Parquet是一种列存格式,Glue对它的支持非常好,自带分类器,而且文件体积小、处理效率高。Excel本身不能直接导出Parquet,但可以用简单的脚本批量处理:

  • 用Python的pandas库批量转换:
import pandas as pd
import os

# 遍历文件夹里的Excel文件
for file in os.listdir("./your-excel-files/"):
    if file.endswith(".xlsx") or file.endswith(".xls"):
        df = pd.read_excel(f"./your-excel-files/{file}")
        # 导出为Parquet
        df.to_parquet(f"./parquet-files/{file.replace('.xlsx', '.parquet')}")
  • 把转换后的Parquet文件上传到S3,Glue爬虫会自动识别并创建对应的表结构,后续Glue Job处理起来也会更高效。

3. JSON格式(兼容性强)

Excel 2016及以上版本可以通过Power Query导出JSON,或者用VBA脚本批量导出:

  • 打开Excel文件,用Power Query加载数据(「数据」→「从表格/区域」)
  • 在Power Query编辑器里,选择「文件」→「导出」→「JSON」
  • 上传到S3后,Glue的内置JSON分类器能正确识别,爬虫可以正常解析表结构。

不过JSON的文件体积会比Parquet大,处理效率稍低,但胜在导出步骤不需要额外代码,适合少量文件的场景。

额外技巧:直接在Glue Job里读取Excel文件(不用爬虫分类)

如果不想转换文件格式,也可以绕过Glue爬虫,直接在Glue Job里用Spark的Excel库读取xlsx/xls文件:

  • 在Glue Job的脚本里添加依赖和读取逻辑:
from pyspark.sql import SparkSession

# 初始化SparkSession,加载Excel依赖包
spark = SparkSession.builder \
    .config("spark.jars.packages", "com.crealytics:spark-excel_2.12:0.14.0") \
    .getOrCreate()

# 读取S3上的Excel文件
df = spark.read.format("com.crealytics.spark.excel") \
    .option("header", "true")  # 第一行是表头
    .option("inferSchema", "true")  # 自动推断字段类型
    .load("s3://your-bucket/path/*.xlsx")

# 写入Aurora RDS
df.write.format("jdbc") \
    .option("url", "jdbc:mysql://your-aurora-endpoint:3306/your-database") \
    .option("dbtable", "your-target-table") \
    .option("user", "your-db-user") \
    .option("password", "your-db-password") \
    .mode("append")  # 根据需求选append/overwrite等模式
    .save()

这种方式不需要爬虫先分类,直接在Job里处理原始Excel文件,适合不想修改文件格式的场景。

总的来说,优先推荐UTF-8 CSV或Parquet,这两种格式Glue原生支持最好,爬虫能完美识别,处理效率也高。

内容的提问来源于stack exchange,提问作者BeardySam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:29:22