gpt4 book ai didi

python - 模块 'avro.schema' 没有属性 'parse'

转载 作者:太空狗 更新时间:2023-10-29 21:12:42 25 4
gpt4 key购买 nike

我是 python 的新手,我正在尝试编写一个简单的代码来将文本文件转换为 avro。我收到此错误,表示找不到模块。我可以在 schema.py 文件中清楚地看到解析模块存在。如果有人可以帮助我理解我可能做错了什么,我将不胜感激。

import avro.schema, csv, codecs
from avro.datafile import DataFileReader, DataFileWriter
from avro.io import DatumReader, DatumWriter


def unicode_csv_reader(unicode_csv_data, dialect=csv.excel, **kwargs):
# csv.py doesn't do Unicode; encode temporarily as UTF-8:
csv_reader = csv.reader(utf_8_encoder(unicode_csv_data),
dialect=dialect, **kwargs)
for row in csv_reader:
# decode UTF-8 back to Unicode, cell by cell:
yield [unicode(cell, 'utf-8') for cell in row]

def utf_8_encoder(unicode_csv_data):
for line in unicode_csv_data:
yield line.encode('utf-8')

schema = avro.schema.parse(open('C:/test/test.avsc', "rb").read())

我在 Windows 10 上使用 Python 3.5.2、avro-python3-1.8.1。

最佳答案

您从他们的 tutorial 中获得了 avro 代码示例, 但不幸的是它没有为 avro-python3 更新。

代替:

schema = avro.schema.parse(open('file.avsc', "rb").read())

需要以文本方式读取文件,使用Parse()方法:

schema = avro.schema.Parse(open('file.avsc', "r").read())

关于python - 模块 'avro.schema' 没有属性 'parse',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41405729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com