什么是.csv文件? CSV代表逗号分隔值。 CSV文件是存储表和电子表格信息的纯文本文件。 内容通常是文本,数字或日期的表。 可以使用将数据存储在表中的程序轻松导入和导出CSV文件。
CSV文件格式
通常,CSV文件的第一行包含表列标签。 随后的每一行代表该表的一行。 逗号分隔行中每个单元格的位置,这是名称的来源。
这是CSV文件的示例。 该示例包含三列,分别标记为“名称”,“ id”和“食物”。 它有五行,包括标题行。
-
name, id, favorite food
-
quincy, 1, hot dogs
-
beau, 2, cereal
-
abbey, 3, pizza
-
mrugesh, 4, ice cream
由于CSV文件只是一个文本文件,因此几乎可以在任何文本编辑器中创建一个CSV文件。
如何打开CSV文件
打开CSV文件比您想象的要简单。 在几乎所有文本编辑器或电子表格程序中,只需选择“ 文件”>“打开”,然后选择CSV文件。
对于大多数人来说,最好使用电子表格程序。 电子表格程序以一种比文本编辑器更易于阅读和使用的方式显示数据。 我们将更详细地介绍如何在Microsoft Excel , OpenOffice Calc和Google表格中打开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方式来对文件进行清空。
结果演示: