# PrettyTables display for StructArray

**URL:** <https://discourse.julialang.org/t/prettytables-display-for-structarray/118732>\
**Category:** General Usage\
**Created:** [August 28, 2024, 7:51pm UTC](https://discourse.julialang.org/t/prettytables-display-for-structarray/118732 "2024-08-28T19:51:46Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)\
**Post date:** [August 28, 2024, 7:51pm UTC](https://discourse.julialang.org/t/prettytables-display-for-structarray/118732/1 "2024-08-28T19:51:46Z")

</div>

I like how `DataFrame` displays with `PrettyTables.pretty_table` by default. If I want the same behavior for `StructArray` , can I make that happen without bad consequences?

---

<div class="post-metadata">

**Author:** ![longemen3000](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/longemen3000/32/7298_2.png) [@longemen3000](https://discourse.julialang.org/u/longemen3000)\
**Post date:** [August 28, 2024, 9:02pm UTC](https://discourse.julialang.org/t/prettytables-display-for-structarray/118732/2 "2024-08-28T21:02:37Z")

</div>

> [@jar1](#):
>
> like how `DataFrame` displays with `PrettyTables.pretty_table` by default. If I want the same behavior for `StructArray` , can I make that happen

you could overload `Base.show(io::IO,::MIME"text/plain",x::StructArray)` to use the `PrettyTables` `show` method.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [August 28, 2024, 9:10pm UTC](https://discourse.julialang.org/t/prettytables-display-for-structarray/118732/3 "2024-08-28T21:10:15Z")

</div>

> [@longemen3000](#):
>
> you could overload `Base.show(io::IO,::MIME"text/plain",x::StructArray)` to use the `PrettyTables` `show` method.

I believe that this is considered type piracy.

---

<div class="post-metadata">

**Author:** ![longemen3000](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/longemen3000/32/7298_2.png) [@longemen3000](https://discourse.julialang.org/u/longemen3000)\
**Post date:** [August 28, 2024, 9:11pm UTC](https://discourse.julialang.org/t/prettytables-display-for-structarray/118732/4 "2024-08-28T21:11:19Z")

</div>

yes it is, but in if you are only using it in personal settings i think is fine.

---

<div class="post-metadata">

**Author:** ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)\
**Post date:** [August 28, 2024, 9:23pm UTC](https://discourse.julialang.org/t/prettytables-display-for-structarray/118732/5 "2024-08-28T21:23:46Z")

</div>

Is it possible to change the display of this type only for my repl, not for any libraries that happen to use `show` for their own internal purposes?

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [August 28, 2024, 9:34pm UTC](https://discourse.julialang.org/t/prettytables-display-for-structarray/118732/6 "2024-08-28T21:34:26Z")

</div>

Maybe you could try to submit a PR to StructArrays.jl that uses Preferences.jl to customize the `show` methods?
