# What's the difference between CSV.jl and CSVFiles.jl?

**URL:** <https://discourse.julialang.org/t/whats-the-difference-between-csv-jl-and-csvfiles-jl/17950>\
**Category:** New to Julia\
**Created:** [November 24, 2018, 7:51pm UTC](https://discourse.julialang.org/t/whats-the-difference-between-csv-jl-and-csvfiles-jl/17950 "2018-11-24T19:51:46Z")\
**Posts on this page:** 1\
**Showing post:** 20

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [January 28, 2020, 12:24am UTC](https://discourse.julialang.org/t/whats-the-difference-between-csv-jl-and-csvfiles-jl/17950/20 "2020-01-28T00:24:46Z")

</div>

What package let’s you read a file using a “select=columnnames” option to select the columns you want?

The examples I’ve seen so far do read all columns and makes selection later.

> df = CSV.File(“cool\_file.csv”) |\> select(:a, :b) |\> DataFrame

This doesn’t seem efficient and won’t alloy you to read files larger than memory.

or

> f = CSV.File(file)  
> for row in f  
> println(“a=(row.a), b=(row.b)”)  
> end

Is there an option on any Julia package to read only the desired columns?

---

_[View the full topic](https://discourse.julialang.org/t/whats-the-difference-between-csv-jl-and-csvfiles-jl/17950)._
