title: Best way to read from a big CSV file without loading everything to memory using Javascript
body: <p>I'm using Atom/Electron for building an app that has visualisations over video based on data. Each video has a corresponding CSV file with information for each frame. The videos are about 100 minutes, so the files has plenty of data!</p>
  
  <p>The problem I'm having is that it takes a couple of seconds to load and parse the file. Most of the time this is not a problem. But I need to make playlist of parts of videos, and loading the whole CSV file each time a video is changed is not a viable option. </p>
  
  <p>I been looking to file streaming options as fast-csv, but I didn't manage to start reading for an arbitrary part of the file. </p>
  
  <p>EDIT: from the FS documentation. In this case, the question is how can I know which byte corresponds to the position I want in the file?</p>
  
  <blockquote>
    <p>options can include start and end values to read a range of bytes
    from the file instead of the entire file. Both start and end are
    inclusive and start at 0.</p>
  </blockquote>
  
  <p>What do you think would be the better and most performant approach to this situation?</p>
  
  <p>In concrete:</p>
  
  <p>Is there a way of starting to read a stream from any part of a CSV file?</p>
  
  <p>Do you consider there is another storage method that would allow me to solve this problem better?</p>
  
  <p>UPDATE:</p>
  
  <p>In the end, I solved this by storing the data in a file in binary format. Since I know how many columns the file has I can just read straight from the segment of the file without any performance implications.</p>