… read data files with DataReader¶
from r2x_core import DataReader, DataFile
from pathlib import Path
# Create reader
reader = DataReader()
# Read file directly
data_file = DataFile(name="data", fpath="data.csv")
data = reader.read_data_file(Path("."), data_file)
… configure data caching¶
# Set cache size limit
reader = DataReader(max_cache_size=50)
# Clear cache
reader.clear_cache()
# Get cache information
cache_info = reader.get_cache_info()
print(f"Cache size: {cache_info['size']}")
print(f"Cache hits: {cache_info['hits']}")
… handle different file types¶
# CSV/TSV files automatically use Polars
csv_data = reader.read_data_file(folder, csv_file)
# HDF5 files use h5py
h5_data = reader.read_data_file(folder, h5_file)
# JSON files use standard json module
json_data = reader.read_data_file(folder, json_file)
… work with optional files¶
# Mark file as optional
optional_file = DataFile(
name="optional_data",
fpath="might_not_exist.csv",
is_optional=True
)
# Won't raise error if file missing
try:
data = reader.read_data_file(folder, optional_file)
except FileNotFoundError:
data = None # Handle gracefully