20 lines
533 B
Python
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)
|