# !cat julia

**URL:** <https://discourse.julialang.org/t/cat-julia/28338>\
**Category:** General Usage\
**Tags:** question\
**Created:** [September 3, 2019, 5:37pm UTC](https://discourse.julialang.org/t/cat-julia/28338 "2019-09-03T17:37:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![romeritomorais](https://avatars.discourse-cdn.com/v4/letter/r/7ab992/32.png) [@romeritomorais](https://discourse.julialang.org/u/romeritomorais)\
**Post date:** [September 3, 2019, 5:37pm UTC](https://discourse.julialang.org/t/cat-julia/28338/1 "2019-09-03T17:37:53Z")

</div>

pandas we have the! cat where we can see the .csv before loading … julia has something similar

---

<div class="post-metadata">

**Author:** ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Post date:** [September 3, 2019, 5:54pm UTC](https://discourse.julialang.org/t/cat-julia/28338/2 "2019-09-03T17:54:00Z")

</div>

CSV.jl loads memory-mapped views of CSV’s by default. This means that if you do `CSV.read("filename.csv")` most of the file is not yet loaded into memory. Better yet, this view behaves like a perfectly ordinary dataframe (because it is). For example

```julia
csv = CSV.read("filename.csv")
first(csv, 6)

```

will give you the first 6 lines of the table in the CSV, only reading whatever data is necessary. This means that even if you did this on a 20 GB CSV file, it would take about the same amount of time.
