Files
export-sereia-guardia-fastapi/import_json.py
2026-04-13 21:10:37 -03:00

39 lines
1.1 KiB
Python

import json
import csv
INPUT_FILE = "orders.json"
OUTPUT_FILE = "orders_separated.csv"
def main():
# Load JSON array
with open(INPUT_FILE, "r", encoding="utf-8") as f:
data = json.load(f)
# Ensure it's a list
if not isinstance(data, list):
raise ValueError("JSON file must contain a top-level array of objects.")
# Convert nested fields to JSON strings
for item in data:
if "Customers" in item:
item["Customers"] = json.dumps(item["Customers"], ensure_ascii=False)
if "ProductsSold" in item:
item["ProductsSold"] = json.dumps(item["ProductsSold"], ensure_ascii=False)
# Collect all possible keys to ensure full CSV header
all_keys = set()
for item in data:
all_keys.update(item.keys())
fieldnames = list(all_keys)
# Write CSV
with open(OUTPUT_FILE, "w", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
print(f"Saved {len(data)} rows to {OUTPUT_FILE}")
if __name__ == "__main__":
main()