21xrx.com
2024-11-05 18:58:42 Tuesday
登录
文章检索 我的文章 写文章
C++实现CSV文件读取并存入数组
2023-07-08 19:40:32 深夜i     --     --
C++ CSV文件 读取 存入数组

CSV文件(Comma-Separated Values,逗号分隔值文件)是一种常用的数据文件格式,它将数据存储在一个由逗号隔开的文本文件中。CSV文件通常用于表格数据,在金融、商业和科学领域广泛应用。如果要将CSV文件的数据读取到C++程序中,我们可以使用逗号(或其他分隔符)将其拆分成数组。

下面是一种C++实现CSV文件读取并存入数组的方法:

1.首先,需要包含文件流头文件 #include ,以对文件进行读取和写入操作(ifstream或ofstream)。

2.打开CSV文件,使用ifstream对象和open()函数,并指定文件名和文件模式(in),以读取文件。

3.使用while循环读取CSV文件中的每一行,直到文件结束。可以使用getline()函数来读取整行,然后将其存储在一个字符串变量中。

4.将每一行按逗号分隔成多个子字符串,我们可以使用STL库中的stringstream对象和getline()函数,指定逗号分隔符,将每行数据分隔成多个字符串,并将每个字符串存储在一个数组中。

5.可以根据需要,将读取的CSV文件数据存储在数组、向量或列表等数据结构中,以进行后续数据处理。

下面是一个简单的示例程序,用于演示如何读取CSV文件,并将数据存储在C++数组中:


#include <iostream>

#include <fstream>

#include <string>

#include <sstream>

using namespace std;

int main()

{

  ifstream file("data.csv");

  string line;

  int i = 0;

  int j = 0;

  int rows = 4;

  int cols = 3;

  double arr[rows][cols];

  while(getline(file, line))

  {

    stringstream ss(line);

    string cell;

    j = 0;

    while(getline(ss, cell, ','))

    {

      arr[i][j++] = stod(cell);

    }

    i++;

  }

  for (i = 0; i < rows; i++)

  {

    for (j = 0; j < cols; j++)

    {

      cout << arr[i][j] << "\t";

    }

    cout << endl;

  }

  return 0;

}

在上面的示例程序中,我们打开了名为data.csv的文件,并将其读取到一个字符串变量中。然后,我们使用while循环逐行读取CSV文件,对每行数据进行处理,并将其存储在C++数组中。最后,我们将数组数据输出到控制台。

总结一下,读取CSV文件并将其数据存储在C++数组中,可以使用fstream、stringstream和getline()函数等C++库函数。选择适当的数据结构,可以对从CSV文件中读取的数据进行更复杂的数据处理。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复