ror-data-copy/convert_to_parquet.py

20 lines
533 B
Python

import argparse
from pathlib import Path
import zipfile
import duckdb
parser = argparse.ArgumentParser()
parser.add_argument("input", type=Path, help="zip or json data dump")
args = parser.parse_args()
if args.input.suffix == ".zip":
zf = zipfile.ZipFile(args.input)
zf.extract(args.input.stem + ".json") # archive name = json name
in_file = str(args.input.with_suffix(".json"))
out_file = str(args.input.with_suffix(".parquet"))
data = duckdb.read_json(in_file)
data.write_parquet(out_file)
print("Written", out_file)