Describe the bug, including details regarding any error messages, version, and platform.
This is the inverse of #46355, so I'll continue from there 😅
Repro
import pyarrow as pa
table = pa.table({"a": pa.array([]), "b": pa.array([], type=pa.float64())})
array = table.to_struct_array()
print(array)
print(array.type.fields)
pa.Table.from_struct_array(array)
Output
<pyarrow.lib.ChunkedArray object at 0x...>
[
]
[pyarrow.Field<a: null>, pyarrow.Field<b: double>]
./pyarrow/table.pxi:4945, in pyarrow.lib.Table.from_struct_array()
./pyarrow/table.pxi:5032, in pyarrow.lib.Table.from_batches()
ValueError: Must pass schema, or at least one RecordBatch
Workaround
I'm doing quite a lot of version branching here already:
In short, it looks like:
import pyarrow as pa
table = pa.table({"a": pa.array([]), "b": pa.array([], type=pa.float64())})
array = table.to_struct_array()
from_struct_array = pa.schema(array.type.fields).empty_table()
print(from_struct_array)
pyarrow.Table
a: null
b: double
----
a: [0 nulls]
b: [[]]
Component(s)
Python
Describe the bug, including details regarding any error messages, version, and platform.
This is the inverse of #46355, so I'll continue from there 😅
Repro
Output
Workaround
I'm doing quite a lot of version branching here already:
In short, it looks like:
Component(s)
Python