您的位置:首页 > 编程语言 > C语言/C++

c++ 读取csv文件

2012-05-07 09:25 316 查看
#include "stdafx.h"

#include <iostream>

#include <string>

#include<fstream>

using namespace std;

int main(int argc, char* argv[])

{

ifstream file ( "D:\\test.csv" ); // declare file stream: 				 http://www.cplusplus.com/reference/iostream/ifstream/ 
string value;

while ( file.good() )

{

getline ( file, value, ',' ); // read a string until next comma: 	 http://www.cplusplus.com/reference/string/getline/ 
cout << string( value, 0, value.length() )<<","; // display value removing the first and the last character from it

}

}

读取CSV文件C#

C# 读取CSV文件2009年06月25日 星期四 19:03方法一,纯文本方法,即把该文件当做文本文件读取

int intColCount = 0;

bool blnFlag = true;

DataTable mydt = new DataTable("myTableName");

DataColumn mydc;

DataRow mydr;

string strpath = ""; //cvs文件路径

string strline;

string [] aryline;

System.IO.StreamReader mysr = new System.IO.StreamReader(strpath);

while((strline = mysr.ReadLine()) != null)

{

aryline = strline.Split(new char[]{','});

if (blnFlag)

{

blnFlag = false;

intColCount = aryline.Length;

for (int i = 0; i < aryline.Length; i++)

{

mydc = new DataColumn(aryline[i]);

mydt.Columns.Add(mydc);

}

}

mydr = mydt.NewRow();

for (int i = 0; i < intColCount; i++)

{

mydr[i] = aryline[i];

}

mydt.Rows.Add(mydr);

}

mydt.Rows.RemoveAt(0);

dataGridView1.DataSource = mydt.DefaultView;

dataGridView1.Columns[0].HeaderText = "编号";

方法二、当做一个数据源读取,常用的sql语句都能执行的

using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\csv\;Extended Properties='Text;'"))

{

DataTable dtTable = new DataTable();

OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [Test.csv]", conn);

try

{

adapter.Fill(dtTable);

}

catch (Exception ex)

{

dtTable = new DataTable();

}

this.GridView1.DataSource = dtTable;

this.GridView1.DataBind();

}


今天要写一个C++读取CSV文件的,后来在百度上搜索,找到了,但是代码运行就出错,代码有问题,后来Google了下,找到老外的一个代码,就使了一下,绝对好用,代码简单,太感谢了。我感觉还是要把英文学好呀
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: