Built-in loaders cover most local cases
For local files you rarely need a loading script anymore. The named loaders "json", "csv", "parquet", "text", "imagefolder", "audiofolder" handle the common shapes. Pass data_files as a string, list, or split-keyed dict.
imagefolder / audiofolder conventions
imagefolder looks for {root}/{class_name}/{file} and infers labels from the folder names. Add a metadata.jsonl or metadata.csv alongside the files to attach extra columns (caption, bounding box, transcription).
Dataset.from_dict / from_list / from_pandas
For programmatic construction, Dataset.from_dict({...}) takes column lists; Dataset.from_list([{...}, ...]) takes row dicts; Dataset.from_pandas(df) wraps a DataFrame. All three return a single Dataset; combine via DatasetDict({"train": ..., "test": ...}).