title: Can you represent CSV data in Google's Protocol Buffer format?
body: <p>I've recently found out about protocol buffers and was wondering if they could be applied to my specific problem.</p>
  
  <p>Basically I have some CSV data that I need to convert to a more compact format for storage as some of the files are several gig. </p>
  
  <p>Each field in the CSV has a header, and there are only two types, strings and decimals (because sometimes there are alot of significant digits and I need to handle all numbers the same way). But each file will have different column names for each field.</p>
  
  <p>As well as capturing the original CSV data I need to be able to add extra information to the file before saving. And I was hoping to make this future proof by handling different file versions.</p>
  
  <p>So, is it possible to use protocol buffers to capture a random number of randomly named columns of data, like a CSV file?</p>