CSV文件在VS中的使用

CSV文件是一种存储表格数据的纯文本格式,广泛用于数据交换。它们以逗号分隔每列,且第一行通常包含列标签。文章介绍了如何在不同程序中打开CSV文件,如Excel,以及展示了C++代码示例来读取CSV内容。此外,还提及了清空文件的‘trunc’方法。
摘要由CSDN通过智能技术生成

什么是.csv文件? CSV代表逗号分隔值。 CSV文件是存储表和电子表格信息的纯文本文件。 内容通常是文本,数字或日期的表。 可以使用将数据存储在表中的程序轻松导入和导出CSV文件。

CSV文件格式 

通常,CSV文件的第一行包含表列标签。 随后的每一行代表该表的一行。 逗号分隔行中每个单元格的位置,这是名称的来源。

这是CSV文件的示例。 该示例包含三列,分别标记为“名称”,“ id”和“食物”。 它有五行,包括标题行。

  1. name, id, favorite food

  2. quincy, 1, hot dogs

  3. beau, 2, cereal

  4. abbey, 3, pizza

  5. mrugesh, 4, ice cream

由于CSV文件只是一个文本文件,因此几乎可以在任何文本编辑器中创建一个CSV文件。

如何打开CSV文件 

打开CSV文件比您想象的要简单。 在几乎所有文本编辑器或电子表格程序中,只需选择“ 文件”>“打开”,然后选择CSV文件。

对于大多数人来说,最好使用电子表格程序。 电子表格程序以一种比文本编辑器更易于阅读和使用的方式显示数据。 我们将更详细地介绍如何在Microsoft Excel , OpenOffice CalcGoogle表格中打开CSV文件。

打开CSV文件Microsoft Excel 

如果您已经安装了Microsoft Excel,只需双击一个CSV文件即可在Excel中打开它。 双击文件后,您可能会看到一个提示,询问您要使用哪个程序打开它。 选择Microsoft Excel。

如果您已经在Microsoft Excel中,则可以选择“ 文件”>“打开”,然后选择CSV文件。 如果看不到要打开的文件,则可能需要将要打开的文件类型更改为“文本文件(* .prn,*。txt,*。csv)”。 Excel将在新工作簿中显示数据。

void speechManger::loadRecord()
{
    ifstream ifs("speech.csv", ios::in);
    if (!ifs.is_open())
    {
        this->FILEempty = true;
        cout << "NULL" << endl;
        ifs.close();
        return;
    }

    char ch;
    ifs >> ch;
    if (ifs.eof())
    {
        //cout << "空" << endl;
        this->FILEempty = true;
        ifs.close();
        return;
    }

    this->FILEempty = false;
    ifs.putback(ch);//将读取的字符放回去 

    string data;
    int index = 0;
    while (ifs >> data)
    {
        vector<string>v;//存放六个字符串
        int pos = -1;
        int start = 0;

        /// <summary>
        /// 解析数据!!!!!!!!
        /// </summary>

        while (true)
        {
            pos = data.find(",", start);//从0开始找","
            if (pos == -1)
            {
                break;
            }
            string tmp = data.substr(start, pos - start);
            //剪切获取 
            v.push_back(tmp);

            start = pos + 1;
        }
        this->m_Record.insert(make_pair(index, v));
        index++;
    }
    ifs.close();

    //for (map<int, vector<string> >::iterator it = m_Record.begin();it != m_Record.end();it++)
    //{
    //    cout << it->first << "冠军编号:" << it->second[0] << " 分数:" << it->second[1] << endl;
    //}
    //测试代码
}

 这是读取csv文件的演示。

以及提供trunc方式来对文件进行清空。 

结果演示:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值