如何在Python中将Avro文件转换为CSV文件?

2 python csv json bigdata python-3.x

我遵循的过程是 -

  1. 将 Avro 转换为 JSON
  2. 然后将 JSON 转换为 CSV

有没有直接的方法将 Avro 文件转换为 CSV?

小智 8

这就是我将 avro 文件转换为 csv 的方法:

from fastavro import reader
import csv

head = True
count = 0
f = csv.writer(open("test.csv", "w+"))
with open('abc.avro', 'rb') as fo:
    avro_reader = reader(fo)
    for emp in avro_reader:
        #print(emp)
        if head == True:
            header = emp.keys()
            f.writerow(header)
            head = False
        count += 1
        f.writerow(emp.values())
print(count)
Run Code Online (Sandbox Code Playgroud)