C++读取csv表格文件到vector
这个CSV文件假设知道每行有多少个数,也知道数据的格式,即可使用下面简单的方法实现。
我们假设每行有4个数据,依次是int,int,float,float
基本思路是:把每行的数据定为一个类型,放在vector中,方便查找使用。使用FILE读文件,fscanf快速把已知格式的数据读进来。
#include <iostream>
#include <fstream>
#include <vector>
#include <string> using namespace std; class csvdata{
public:
int id;
int level;
float price;
float cost;
};//行的类定义 int main()
{
vector<csvdata> incsv;
csvdata intp;
FILE *fp;
fp=fopen("D:\\111.csv","r");//你自己的文件路径
while(){
fscanf(fp,"%d,%d,%f,%f",&intp.id,&intp.level,&intp.price,&intp.cost);
incsv.push_back(intp);
if (feof(fp))break;
}
fclose(fp);
for(int i=;i<incsv.size();i++)
{
cout<<incsv[i].id<<" "<<incsv[i].level<<" "<<incsv[i].price<<" "<<incsv[i].cost<<endl; }//输出显示每行的数据 system("pause");
return ;
}
如果不知道csv每行的个数和格式类型,也可以统一用string来读取,只是比上面方法稍麻烦。
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector> using namespace std; string Trim(string& str)
{
str.erase(,str.find_first_not_of(" \t\r\n")); str.erase(str.find_last_not_of(" \t\r\n") + ); return str;
} int main()
{
ifstream fin("test.csv"); string line;
while (getline(fin, line)) {
//cout << line << endl; istringstream sin(line);
vector<string> fields;
string field;
while (getline(sin, field, ',')) {
fields.push_back(field);
} string name = Trim(fields[]);
string age = Trim(fields[]);
string birthday = Trim(fields[]);
cout << name << "\t" << age << "\t" << birthday << endl;
}
system("pause");
return 0;
}
C++读取csv表格文件到vector的更多相关文章
- python读取Excel表格文件
python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1.安装Excel读取数据的库-----xlrd 直接pip install xlrd安 ...
- 【 D3.js 进阶系列 — 1.0 】 CSV 表格文件的读取
在入门系列的教程中.我们经常使用 d3.json() 函数来读取 json 格式的文件.json 格式非常强大.但对于普通用户可能不太适合,普通用户更喜欢的是用 Microsoft Excel 或 O ...
- PHP处理CSV表格文件的常用操作方法是怎么样呢
php来说,fgetcsv读入csv表格,返回一个数组,然后foreach输出成HTML的<table>,这步操作几行代码就能实现,非常简单.工作量主要还在于浏览器前端,建议你用jQuer ...
- PHP读取CSV大文件导入数据库的示例
对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象. 为了成功将CSV文件里的数据导入数据库,分批处理是非常必要的. 下面这个函数是读取CSV文件中指 ...
- PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
CSV大文件的读取已经在前面讲述过了(PHP按行读取.处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题. 1.如何快速获取CSV大文件的总行数? 办法一:直接获取文件内容 ...
- pyhton读取 excel表格文件
2019的第一天,忘记昨日之事,迎接新的明天. excel表格文件办公中常用,如通过Python操作这些数据需导入并有序读取这些数据 特随笔,供以后查阅 代码如下: import xlrd # fil ...
- Pandas——读取csv,txt文件
""" 读取csv文件 该文本中的分割符既有空格又有制表符(‘/t’),sep参数用‘/s+’,可以匹配任何空格. """ import p ...
- 通过文件路径读取CSV表格内的数据
ReadDataFromCSV.h UCLASS() class MYPROJECT_API UReadDataFromCSV : public UBlueprintFunctionLibrary { ...
- C#读取csv格式文件
方法1:用一个System.Web.UI.HtmlControls.HtmlInputFile去handle文件选取 以下是button click event中的code,用来执行当文件选取了之后读 ...
随机推荐
- css动画属性--轮播图效果
通过css的动画属性实现轮播图的显示效果 代码如下: 主体部分: <div id="move"> <ul> <li><img src=&q ...
- 基于android的语音质量评估
最近研究如何通过android评估通话质量,希望获取的参数有:(1)接通时长 (2)掉话次数 (3)语音是否清晰,以下将给出接通时长和掉话次数的详细定义: 接通时长:通话一方开始拨号到另一方开始振铃的 ...
- Hibernate--inverse属性与cascade属性
转载:http://www.cnblogs.com/otomedaybreak/archive/2012/01/17/2324772.html Hibernate 集合映射中,经常会使用到" ...
- WebService中的WSDL详解 及jmeter测试
首先简单讲解一下什么是wsdl. 一个WSDL文档通常包含8个重要的元素,即definitions.types.import.message.portType.operation.bin ...
- [BZOJ 1500]维修数列 [Splay Tree从进阶到住院]
历尽艰辛终于A掉了这题QwQ 贴COGS评论区几句话=.= 策爷:"splay/块状链表的自虐题.".深刻理解到如果没有M倾向就不要去写这题了.. -Chenyao2333 记得b ...
- ajax-javascript原生-初步入门01(整理)
-----------------------------------2017.07.21写----------------------------------------- 1.ajax的原名: a ...
- 创建 overlay 网络 - 每天5分钟玩转 Docker 容器技术(50)
上一节我们搭建好实验环境,配置并运行了consul,今天开始创建 overlay 网络. 在 host1 中创建 overlay 网络 ov_net1: -d overlay 指定 driver 为 ...
- [补档][Lydsy2017年4月月赛]抵制克苏恩
[Lydsy2017年4月月赛]抵制克苏恩 题目 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平. 如果你不玩炉石传说,不必担心,小Q同学会告诉你所有相关的细节.炉石传说是这样的一 ...
- POJ 3669 Meteor Shower (BFS+预处理)
Description Bessie hears that an extraordinary meteor shower is coming; reports say that these meteo ...
- python 中 list 的各项操作
最近在学习 python 语言.大致学习了 python 的基础语法.觉得 python 在数据处理中的地位和它的 list 操作密不可分. 特学习了相关的基础操作并在这里做下笔记. ''' Pyth ...