C++中如何将数据保存为CSV文件

 更新时间:2022年11月11日 10:58:43   作者:Mz枫  
这篇文章主要介绍了C++中如何将数据保存为CSV文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

C++将数据保存为CSV文件

因为最近涉及到保存模型推理结果的输出文件,所以学一学如何将数据保存为CSV文件,比如保存检测框box的顶点,置信度,label,入侵检测的结果等。

用到的也是C++的ofstream,ofstream有一个操作是"<<",这个也很好用,就类似std::cout的操作一样即可。

比如我现在的数据是比较统一的,每一个样本是一行,一行数据要分成四列,第一列是样本的图像地址,第二列是标签,第三列是最终预测值,第四列是概率,每一列的格式是一样的

那么我的代码就是这样:

ofstream file(CSV_PATH);
if (file)
{
    file << image_path << "," << label << "," << prediction << "," << probability << "\n";
}
file.close();

要注意的是,逗号表示的是换列,换行符号就是换行。

CSV文件可以用excel直接打开

如何存储CSV文件

应用工程里,经常会遇到存储一些数据,存储下来进行分析

#include <iostream>
#include <fstream>

using namespace std;

std::string CSV_PATH = "./data.csv";
ofstream csv;
int frame_num = 0;

struct Name
{
    int age;
    float height;
    float weight;
    int score;
};

int main()
{
    Name Zhangsan{30, 1.75, 78, 98};
    csv.open(CSV_PATH);

    while (true)
    {
        if (csv.is_open())
        {
            frame_num++;
            if (frame_num == 1)
            {
                csv << "age"
                    << ","
                    << "height(m)"
                    << ","
                    << "weight(kg)"
                    << ","
                    << "score"
                    << "\n";
            }
            else
            {
                csv << Zhangsan.age << "," << Zhangsan.height << "," << Zhangsan.weight << "," << Zhangsan.score
                    << "\n";
            }
        }
        if (frame_num > 10000) {
            csv.close();
        }
    }

    return 0;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C++ 多线程编程pthread的基本使用详解

    C++ 多线程编程pthread的基本使用详解

    在C++开发中,原生的线程库主要有两个,一个是C++11提供的<thread>(std::thread类),另一个是Linux下的<pthread.h>(p_thread类),本文主要介绍pthread的基本使用方式,需要的朋友可以参考下
    2024-05-05
  • C++中set的用法学习

    C++中set的用法学习

    Set是C++ STL(标准模板库)的一个容器类,它用于存储不同的值,并且可以按照特定顺序进行访问和操作。本文就来通过一些示例和大家简单讲讲set的用法吧
    2023-05-05
  • C++中auto_ptr智能指针的用法详解

    C++中auto_ptr智能指针的用法详解

    这篇文章主要介绍了C++中auto_ptr智能指针的用法详解的相关资料,需要的朋友可以参考下
    2016-07-07
  • 详解c++良好的编程习惯与编程要点

    详解c++良好的编程习惯与编程要点

    c++语言的灵活是建立在对编程者个人的编程素质的严格要求基础上的,好的C++编程习惯能避免很多问题。没有好的编程习惯,极有可能编写一行代码,编译器能报十几个错误,而且就算编译通过了,将来在运行过程中也会有很多莫名奇妙的问题
    2021-06-06
  • C++ Leetcode实现从英文中重建数字

    C++ Leetcode实现从英文中重建数字

    本文主要介绍了当给你一个字符串s,其中包含字母顺序打乱的用英文单词表示的若干数字(0-9)时,如何通过Leetcode按升序返回原始的数字。感兴趣的童鞋可以来看看
    2021-11-11
  • Visual Studio 2022 的安装和创建C++项目(图文教程)

    Visual Studio 2022 的安装和创建C++项目(图文教程)

    本文主要介绍了Visual Studio 2022 的安装和创建C++项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • C++设计模式之抽象工厂模式

    C++设计模式之抽象工厂模式

    这篇文章主要介绍了C++设计模式之抽象工厂模式,本文要讲的抽象工厂模式,就是工厂方法模式的扩展和延伸,需要的朋友可以参考下
    2014-09-09
  • 如何在二叉树中找出和为某一值的所有路径

    如何在二叉树中找出和为某一值的所有路径

    本篇文章是对在二叉树中找出和为某一值的所有路径方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++实现控制台版扫雷程序

    C++实现控制台版扫雷程序

    这篇文章主要为大家详细介绍了C++实现控制台版扫雷程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 一文搞懂Codec2解码组件

    一文搞懂Codec2解码组件

    这篇文章主要介绍了Codec2解码组件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论