π¬ Question: How to convert an .avro file to a .csv file in Python?
Solution:
To convert an Avro file my_file.avro
to a CSV file my_file.csv
, create a CSV writer using the csv
module and iterate over all rows using the iterator returned by fastavro.reader()
. Then write each row to a file using the writerow()
function.
Here’s an example:
from fastavro import reader import csv with open('my_file.avro', 'rb') as file_object: csv_file = csv.writer(open("my_file.csv", "w+")) head = True for x in reader(file_object): if head: # write header header = emp.keys() csv_file.writerow(header) head = False # write normal row csv_file.writerow(emp.values())
Related: This code is a modified and improved version of this source.
π‘ Avro is a data serialization framework for RPCs (remote procedure calls) that uses JSON and binary format to serialize data.
π‘ CSV stands for comma-separated values, so you have a row-based file format where values are separated by commas, and the file is named using the suffix .csv
.