模块“avro.schema”没有属性“parse”

2024-05-23 14:58:10 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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上使用python3.5.2、avro-python3-1.8.1。


Tags: 模块csvinpyimportfordataparse