CSV文件概念(引用自百度百科):逗號分隔值(Comma-Separated Values蹂季,CSV步氏,有時也稱為字符分隔值查辩,因為分隔字符也可以不是逗號)骏全,其文件以純文本形式存儲表格數(shù)據(jù)(數(shù)字和文本)与斤。純文本意味著該文件是一個字符序列肪康,不含必須像二進制數(shù)字那樣被解讀的數(shù)據(jù)。CSV文件由任意數(shù)目的記錄組成撩穿,記錄間以某種換行符分隔梅鹦;每條記錄由字段組成,字段間的分隔符是其它字符或字符串冗锁,最常見的是逗號或制表符齐唆。通常,所有記錄都有完全相同的字段序列冻河。通常都是純文本文件箍邮。建議使用WORDPAD或是記事本來開啟,再則先另存新檔后用EXCEL開啟叨叙,也是方法之一锭弊。
通過以上介紹,我們可以知道CSV是用逗號做分割符的文件擂错。因此可以用讀寫文件的方法來操作它味滞。
代碼
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
// 寫文件
ofstream outFile;
outFile.open("data.csv", ios::out); // 打開模式可省略
outFile << "name" << ',' << "age" << ',' << "hobby" << endl;
outFile << "Mike" << ',' << 18 << ',' << "paiting" << endl;
outFile << "Tom" << ',' << 25 << ',' << "football" << endl;
outFile << "Jack" << ',' << 21 << ',' << "music" << endl;
outFile.close();
// 讀文件
ifstream inFile("data.csv", ios::in);
string lineStr;
vector<vector<string>> strArray;
while (getline(inFile, lineStr))
{
// 打印整行字符串
cout << lineStr << endl;
// 存成二維表結(jié)構(gòu)
stringstream ss(lineStr);
string str;
vector<string> lineArray;
// 按照逗號分隔
while (getline(ss, str, ','))
lineArray.push_back(str);
strArray.push_back(lineArray);
}
getchar();
return 0;
}
以上代碼轉(zhuǎn)自:
作者:踏莎行hyx
來源:CSDN
原文:https://blog.csdn.net/u012234115/article/details/64465398