#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();
}
本回答被网友采纳