lines 6-51 of file: cpp/lib/csv_read.cpp {xrst_begin csv_read} {xrst_spell newlines th } Read a Csv File ############### Prototype ********* {xrst_literal , // BEGIN PROTOTYPE, // END PROTOTYPE // BEGIN RETURN, // END RETURN } vec_vec_str *********** see :ref:`vec_vec_str-name` . file_name ********* is the name of the file containing the csv file. Each row in this file ends with a newlines ``'\n'``. The columns are separated by commas ``','`` . A comma at the end of a line means there is an empty value at the end of the corresponding row. There are no other special characters in this file. csv_table ********* #. The *j*-th column of the *i*-th row of the file contains the value csv_table[i][j] . The special characters ``'\n'`` and ``','`` are not included in these values. #. The row and column indices start at zero. #. csv_table.size() is the number of rows in the table #. csv_table[i].size() is the number of columns in the *i*-th row. {xrst_toc_hidden cpp/xam/csv_read.cpp } Example ******* :ref:`xam_csv_read.cpp-name` contains an example and test of this routine. {xrst_end csv_read}