Python - 为 csv/xls 文件生成 avro 模式

Python - generate avro schema for csv/xls file

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

我是 python 和 pandas 的新手。请帮忙。

data_frame = pd.read_excel(INPUT_PATH)

我想根据这个数据框即时生成一个 avro 模式。请帮忙

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

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

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

例如:

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

然后可以使用 Fastavro 库来解析此架构