【发布时间】:2016-12-31 05:22:53
【问题描述】:
我是 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。
【问题讨论】: