8.2
general documentation
cs_file_csv_parser.h
Go to the documentation of this file.
1 #ifndef __CS_FILE_CSV_PARSER_H__
2 #define __CS_FILE_CSV_PARSER_H__
3 
4 /*============================================================================
5  * Read data from CSV files
6  *============================================================================*/
7 
8 /*
9  This file is part of code_saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2024 EDF S.A.
12 
13  This program is free software; you can redistribute it and/or modify it under
14  the terms of the GNU General Public License as published by the Free Software
15  Foundation; either version 2 of the License, or (at your option) any later
16  version.
17 
18  This program is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21  details.
22 
23  You should have received a copy of the GNU General Public License along with
24  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25  Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 */
27 
28 /*----------------------------------------------------------------------------
29  * Local headers
30  *----------------------------------------------------------------------------*/
31 
32 #include "cs_defs.h"
33 
34 /*----------------------------------------------------------------------------*/
35 
37 
38 /*=============================================================================
39  * Public function prototypes
40  *============================================================================*/
41 
42 /*----------------------------------------------------------------------------*/
43 /*
44  * \brief Parse a csv file and export to a dataset (char ***).
45  *
46  * The caller is responsible for freeing the dataset when not needed anymore.
47  *
48  * \param[in] file_name Name of the file to read
49  * \param[in] separator Separator (int)
50  * \param[in] n_headers Number of headers (to ignore during import)
51  * \param[in] n_columns Number of columns to read.
52  * -1 if all columns are to be read
53  * \param[in] col_idx Array of indices of columns to read
54  * (if n_columns != -1)
55  * \param[in] ignore_missing_tokens Ignore missing tokens (NULL)
56  * \param[in] n_rows Pointer to number of rows in file
57  * \param[in] n_cols Pointer to number of columns in file
58  *
59  * \returns Pointer to newly created dataset.
60  */
61 /*----------------------------------------------------------------------------*/
62 
63 char ***
64 cs_file_csv_parse(const char *file_name,
65  const char *separator,
66  const int n_headers,
67  const int n_columns,
68  const int *col_idx,
69  const bool ignore_missing_tokens,
70  int *n_rows,
71  int *n_cols);
72 
73 /*----------------------------------------------------------------------------*/
74 
76 
77 #endif /* __CS_FILE_CSV_PARSER_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:528
#define END_C_DECLS
Definition: cs_defs.h:529
char *** cs_file_csv_parse(const char *file_name, const char *separator, const int n_headers, const int n_columns, const int *col_idx, const bool ignore_missing_tokens, int *n_rows, int *n_cols)
Parse a csv file and export to a dataset (char ***).
Definition: cs_file_csv_parser.c:300