8.3
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
63char ***
64cs_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:542
#define END_C_DECLS
Definition: cs_defs.h:543
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.cpp:300