from typing import Any, Dict, List def validate_item(item: Any) -> str: """ Chech if item is string or number. Args: item (Any): Item to be checked. Returns: str: Same or empty string. """ if isinstance(item, str) or isinstance(item, int): return item return "" def json_to_csv(data: List[Dict]) -> str: """ Transform JSON data to CSV string. Args: data (List[Dict]): List of items that will be transformed. Returns: str: CSV string with header. """ if data: header_keys = data[0].keys() header = ",".join([f'"{i}"' for i in header_keys]) rows = [] for row in data: row_data = ",".join([f'"{validate_item(i)}"' for i in row.values()]) rows.append(row_data) body = "\r\n".join(rows) return f"{header}\r\n{body}" return ""