Robert Howell
05/28/2025, 7:03 PMimport daft
df = daft.from_pydict({
"person": [
'{"name": "Alice", "age": 30}',
'{"name": "Bob", "age": 25}',
'{"name": "Charlie", "age": 35}',
]
})
# STRUCT<name: STRING, age: BIGINT>
person_type = dt.struct(
{
"name": dt.string(),
"age": dt.int64(),
}
)
df.select(df["person"].from_json(person_type)).show()
╭────────────────────────────────╮
│ person │
│ --- │
│ Struct[name: Utf8, age: Int64] │
╞════════════════════════════════╡
│ {name: Alice, │
│ age: 30, │
│ } │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ {name: Bob, │
│ age: 25, │
│ } │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ {name: Charlie, │
│ age: 35, │
│ } │
╰────────────────────────────────╯
(Showing first 3 of 3 rows)NikkTheGreek
05/29/2025, 2:11 AMRobert Howell
05/29/2025, 2:24 AMRobert Howell
05/30/2025, 12:56 AMdeserialize which accepts a string input and format argument. Follow-ups are in the description. https://github.com/Eventual-Inc/Daft/pull/4438