Python - 为 csv/xls 文件生成 avro 架构

myt*_*hic 3 python schema dataframe avro pandas

我有一个 XLS/CSV 文件,正在将其读入 pandas 数据帧。我想从这个数据帧生成一个 avro 模式。

我对 python 和 pandas 都是新手。请帮忙。

data_frame = pd.read_excel(INPUT_PATH)

我想从这个数据帧动态生成 avro 模式。请帮忙

myt*_*hic 5

我找到了解决办法。我提取了 pandas 数据框中字段的数据类型,并将其保存到字段名称中。

将数据类型映射到 avro 兼容的数据类型(pandas 中的“object”-> avro 中的“string”)

创建 avro 模式的模板,并将替换的字段名称和数据类型放入“fields:[]”部分并将其发布到注册表。

例如 :

    schema = {"type": "record",
            "name": schemaName,
          "fields": [
              {"name": key, "type": value} for (key, value) in myDict.items()
          ]
          }
Run Code Online (Sandbox Code Playgroud)

然后可以使用 Fastavro 库来解析此模式