当前位置:文档之家› C#读取CSV文件最好用的

C#读取CSV文件最好用的

C#读取CSV文件最好用的
C#读取CSV文件最好用的

using System;

using System.Collections.Generic;

using https://www.doczj.com/doc/a11227927.html,ponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace WindowsApplication1

{

public partial class CSVORXLS : Form

{

public CSVORXLS()

{

InitializeComponent();

string csvDir = @"C:¥test1.xls";//要?取的CSV路径;

//string excelDir = @"C:¥test1.xls";

if (csvDir.Trim().ToUpper().EndsWith("CSV"))//判断所要的?展名?型;

{

int ipos = https://www.doczj.com/doc/a11227927.html,stIndexOf("¥¥");

string filePath = csvDir.Substring(0, ipos + 1);

string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='text;HDR=YES;FMT=Delimited;'";//有列?的

//string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='text;HDR=NO;FMT=Delimited;'";//没有列?的

//HDR=No代表没有列名,如果?Y es?有列名;"IMEX=1;"告???器?是?混合的数据(包括数字,日期,字符串等等)就像文本文档的;

//FMT=Delimited是否有分隔符如,|。

string commandText = "select * from " + csvDir.Replace(filePath, "");//SQL?句;

OleDbConnection olconn = new OleDbConnection(connStr);

olconn.Open();

OleDbDataAdapter odp = new OleDbDataAdapter(commandText, olconn);

DataTable dt = new DataTable();

odp.Fill(dt);

dataGridView1.AutoGenerateColumns = true ;//有列?的

dataGridView1.DataSource = dt.DefaultView;//有列?的

//dataGridView2.DataSource = dt.DefaultView;//没有列?的

//dataGridView2.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;//没有列?的

//dataGridView2.Columns[0].HeaderText = "?号";//没有列?的

//dataGridView2.Columns[1].HeaderText = "高度";//没有列?的

//dataGridView2.Columns[2].HeaderText = "?度";//没有列?的

}

else

{

string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + csvDir + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;';";

//string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + csvDir + ";Extended Properties='text;HDR=YES;IMEX=1;'";//IMEX=1

string commandText = "select * from [test1$]";

OleDbConnection olconn = new OleDbConnection(connStr);

olconn.Open();

OleDbDataAdapter odp = new OleDbDataAdapter(commandText, olconn);

DataTable dt = new DataTable();

odp.Fill(dt);

dataGridView2.DataSource = dt.DefaultView;

}

}

}

}

C#读取csv、xls、sql数据库的实现

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.Odbc; using System.Data.OleDb; using System.Data.SqlClient; using System.IO; ///

///读取数据并返回数据集 /// public class ReadData { private string filename = null;//文件名 private string filepath = null;//路径 public ReadData() { // // TODO: 在此处添加构造函数逻辑 // } /// ///初始化文件路径 /// ///文件路径 ///文件名称 public ReadData(string cfilepath, string cfilename) { filename = cfilename; filepath = cfilepath; } /// ///读取csv格式文件 /// ///sql语句 /// public DataSet Readcsv(string sqlstr) {

C#写的一个简单的读写CSV文件的类

CSV(Comma-Separated Values )文件即用逗号分隔的文本文件。 下面是用C#写的一个简单的读写CSV文件的类。 using System; using System.Collections.Generic; using System.IO; using System.Text; namespace CSVDemo { ///

/// CSVUtil is a helper class handling csv files. /// public class CSVUtil { private CSVUtil() { } //write a new file, existed file will be overwritten public static void WriteCSV(string filePathName,Listls) { WriteCSV(filePathName,false,ls); } //write a file, existed file will be overwritten if append = false public static void WriteCSV(string filePathName,bool append, List ls) { StreamWriter fileWriter=new StreamWriter(filePathName,append,Encoding.Default); foreach(String[] strArr in ls) { fileWriter.WriteLine(String.Join (“,",strArr) ); } fileWriter.Flush(); fileWriter.Close(); } public static List ReadCSV(string filePathName)

把csv文件中的数据导入SQL Server的方法

把csv文件中的数据导入SQL Server的方法? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [sql] --修改高级参数 sp_configure 'show advanced options',1 go --允许即席分布式查询 sp_configure 'Ad Hoc Distributed Queries',1 go --如果配置的值不在合理范围(在最小值最大值范围内),那么可以强制覆盖reconfigure with override go sp_configure 'xp_cmdshell',1 go reconfigure go --创建数据库 create database wc go use wc go --建表 create table xxdd ( aa nvarchar(1000), bb nvarchar(1000), cc nvarchar(1000), dd nvarchar(1000), ee nvarchar(1000), ff nvarchar(1000) ) go

41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 /* 这里建立一个c:\wc.csv 文件,内容如下: aa,bb,cc,dd,ee,ff 42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,234324 42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,234324 42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,234324 42222222223432432432,32432432432432432432,2332432432,32432432432,32432432,234324 */ --导出格式文件,这个是关键,数据库名称,表名称,用户名和密码,服务器ip和端口 --都改成你自己的 exec xp_cmdshell 'bcp wc.dbo.xxdd format nul -t "," -f c:\wc.fmt -c -Usa -Pyupei go --先查看要导入的数据 select * from openrowset(bulk 'c:\wc.csv', --要读取的文件路径和名称 formatfile='c:\wc.fmt', --格式化文件的路径和名称 firstrow = 2, --要载入的第一行,由于第一行是标题,所以从 --lastrow = 1000, --要载入的最后一行,此值必须大于firstro maxerrors = 10, --在加载失败之前加载操作中最大的错误数 --errorfile ='c:\wc_error1.txt', --存放错误的文件 rows_per_batch = 10000 --每个批处理导入的行数 ) as t /* aa bb cc dd ee ff 42222222223432432432 32432432432432432432 2332432432 32432432432 32432432 42222222223432432432 32432432432432432432 2332432432 32432432432 32432432 42222222223432432432 32432432432432432432 2332432432 32432432432 32432432 42222222223432432432 32432432432432432432 2332432432 32432432432 32432432 */ --最后可以 insert into 表 (列) select * from openrowset...插入数据即可 insert into xxdd (aa,bb,cc,dd,ee,ff) select * from openrowset(bulk 'c:\wc.csv', --要读取的文件路径和名称 formatfile='c:\wc.fmt', --格式化文件的路径和名称

matlab基本操作,读取csv文件

1、用csvread函数 注意:csvread函数只试用与用逗号分隔的纯数字文件 第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M 第二种:M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列的数据开始的数据,这对带有头文件说明的csv文件(如示波器等采集的文件)的读取是很重要的。 第三种:M = CSVREAD('FILENAME',R,C,RNG),其中RNG = [R1 C1 R2 C2],读取左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。 注意:matlab认为CSV第1行第1列的单元格坐标为(0,0) 给定一个csvlist.csv文件,其内容如下 02, 04, 06, 08, 10, 12 03, 06, 09, 12, 15, 18 05, 10, 15, 20, 25, 30 07, 14, 21, 28, 35, 42 11, 22, 33, 44, 55, 66 例1.1读取整个文件 csvread('csvlist.csv') ans = 2 4 6 8 10 12 3 6 9 12 15 18 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.2读取第2行以下,第0列以右区域的数据 m = csvread('csvlist.dat', 2, 0) m = 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.3读取第2行以下,第0列以右,第3行以上,第3列以左区域的数据 m = csvread('csvlist.dat', 2, 0, [2,0,3,3])

【免费下载】CSV文件操作

VB6.0 CSV文件操作2008-05-27 18:04 功能:读取CSV文件的内容并导入到数据库中 环境:Access2003 语言:VBA(对于使用VB6.0同样适用) 数据库:D:\db1.mdb 数据表:test userId 数值型 userName 文本型 CSV文件:D:\test.csv (使用Excel打开) 编号姓名 123 王五 456 李"“四 789 张'三 注意,在实际处理CSV文件前,程序开发者必须了解CSV文件的真实结构。 为了说明在处理CSV文件时可能遇到的特殊情况,用于测试的CSV文件的 最后两行的“姓名”列均插入了特殊字符。 由于在显示CSV文件内容时,Excel已经对CSV文件进行了处理,因此, 上面使用Excel所看到的内容并不是CSV的真实内容。 如果使用文本编辑器打开,可以看到真实的内容为: ---------- 编号, 姓名 123, 王五 456, "李""“四" 789, 张'三 ---------- 之所以出现这样的内容,是因为我们通常使用Excel编辑CSV文件,然后 使用另存为命令保存为CSV文件。这一过程中,Excel会隐蔽地进行如下处理:1 CSV文件将Excel的同一行中不同单元格的内容使用,(半角逗号分隔开) 2 当内容中出现半角双引号时会自动被转义为两个双引号,即""; 同时内容整体的两端自动被双引号引起来。例如:李"“四-> "李""“四" 了解了数据表和CSV文件的结构,下面就可以编写代码了。 ------------------------------------------------------------ 1. Option Compare Binary 声明 作用:声明当前VB环境中字符串的比较方式 这里的Binary 声明当前VB环境中的字符串依照其在内存中的字节码来进行比较

实验8 CSV数据文件操作

实验8 CSV数据文件操作 实验目的:了解CSV格式数据记录文件结构,掌握大数据量记录的查询技巧。 实验内容:编程设计一个成语接龙游戏。 具体要求如下: 1、判断输入词语是否是成语; 2、可以判断是否符合成语接龙游戏规则; 3、可以实现提示功能; 4、可以实现显示成语含义的功能; 实验步骤:(基于MFC对话框应用程序实现。) 1、界面设计 2、控件变量定义

3、创建“Idiom”类 3.1“Idiom.h”文件内容 // Idiom.h: interface for the Idiom class. // ///////////////////////////////////////////////////////////////////// / #include #if !defined(AFX_IDIOM_H__C9A16E11_19F4_4BCF_B7D0_4CCF4FA5AE2D__INCLU DED_) #define AFX_IDIOM_H__C9A16E11_19F4_4BCF_B7D0_4CCF4FA5AE2D__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class Idiom { private: CString Idiom1[30805];//成语 CString Idiom2[30805];//读音 CString Idiom3[30805];//释义 CString Idiom4[3041];//首字 unsigned long Idiom5[3041];//首字在大表位置

CSV文件的内容并导入到数据库中

功能:读取CSV文件的内容并导入到数据库中 环境:Access2003 语言:VBA(对于使用VB6.0同样适用) 数据库:D:\db1.mdb 数据表:test userId 数值型 userName 文本型 CSV文件:D:\test.csv (使用Excel打开) 编号姓名 123 王五 456 李"“四 789 张'三 注意,在实际处理CSV文件前,程序开发者必须了解CSV文件的真实结构。 为了说明在处理CSV文件时可能遇到的特殊情况,用于测试的CSV文件的 最后两行的“姓名”列均插入了特殊字符。 由于在显示CSV文件内容时,Excel已经对CSV文件进行了处理,因此, 上面使用Excel所看到的内容并不是CSV的真实内容。 如果使用文本编辑器打开,可以看到真实的内容为: ---------- 编号, 姓名 123, 王五 456, "李""“四" 789, 张'三 ---------- 之所以出现这样的内容,是因为我们通常使用Excel编辑CSV文件,然后 使用另存为命令保存为CSV文件。这一过程中,Excel会隐蔽地进行如下处理:1 CSV文件将Excel的同一行中不同单元格的内容使用,(半角逗号分隔开) 2 当内容中出现半角双引号时会自动被转义为两个双引号,即""; 同时内容整体的两端自动被双引号引起来。例如:李"“四-> "李""“四" 了解了数据表和CSV文件的结构,下面就可以编写代码了。 ------------------------------------------------------------ 1. Option Compare Binary 声明 作用:声明当前VB环境中字符串的比较方式 这里的Binary 声明当前VB环境中的字符串依照其在内存中的字节码来进行比较如果你使用的是普通VB6.0环境,默认的字符串比较就是依照字节码比较

如何实现pandas读取csv文件指定的前几行

如何实现pandas读取csv文件指定的前几行 今天小编给大家分享一篇Python技术开发方面的文章,如何实现pandas读取csv文件指定的前几行,喜欢Python开发的小伙伴下面就随小编一起来了解一下吧。 用于存储数据的csv文件有时候数据量是十分庞大的,然而我们有时候并不需要全部的数据,我们需要的可能仅仅是前面的几行。 这样就可以通过pandas中read_csv中指定行数读取的功能实现。 例如有data.csv文件,文件的内容如下: GreydeMac-mini:chapter06 greyzhang$ cat data.csv ,name_01,coment_01,,,, 2,name_02,coment_02,,,, 3,name_03,coment_03,,,, 4,name_04,coment_04,,,, 5,name_05,coment_05,,,, 6,name_06,coment_06,,,, 7,name_07,coment_07,,,, 8,name_08,coment_08,,,, 9,name_09,coment_09,,,, 10,name_10,coment_10,,,, 11,name_11,coment_11,,,, 12,name_12,coment_12,,,, 13,name_13,coment_13,,,, 14,name_14,coment_14,,,, 15,name_15,coment_15,,,, 16,name_16,coment_16,,,, 17,name_17,coment_17,,,, 18,name_18,coment_18,,,, 19,name_19,coment_19,,,, 20,name_20,coment_20,,,, 21,name_21,coment_21,,,, 如果我们需要的数据仅仅是前5行,那么读取方式可以通过nrows的方式进行指定。编写代码如下:

【免费下载】Matlab读取CSV文件

Matlab读取CSV文件 环境:Matlab R2009a,Win 7 1、用csvread函数 注意:csvread函数只试用与用逗号分隔的纯数字文件 第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M 第二种:M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列的数据开始的数据,这对带有头文件说明的csv文件(如示波器等采集的文件)的读取是很重要的。 第三种:M = CSVREAD('FILENAME',R,C,RNG),其中 RNG = [R1 C1 R2 C2],读取左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。 注意:matlab认为CSV第1行第1列的单元格坐标为(0,0) 给定一个csvlist.csv文件,其内容如下 02, 04, 06, 08, 10, 12 03, 06, 09, 12, 15, 18 05, 10, 15, 20, 25, 30 07, 14, 21, 28, 35, 42 11, 22, 33, 44, 55, 66 例1.1读取整个文件 csvread('csvlist.csv') ans = 2 4 6 8 10 12 3 6 9 12 15 18 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.2读取第2行以下,第0列以右区域的数据 m = csvread('csvlist.dat', 2, 0) m = 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.3读取第2行以下,第0列以右,第3行以上,第3列以左区域的数据 m = csvread('csvlist.dat', 2, 0, [2,0,3,3]) m = 5 10 15 20 7 14 21 28

CSV文件读写

文件的读取 CSV即Comma Separated Values(以逗号分隔的值),这种文件格式经常用来作为不同程序之间的数据交互的格式。具体文件格式如下。 每条记录占一行。 记录间的值以逗号为分隔符。 逗号前后的空白字符会被忽略。 如果值中包含逗号、换行符、空格、双引号,则该值必须用双引号引起来。 值中的双引号用两个双引号表示。 如下是一段标准的CSV数据,它来自于某次科学实验的采集记录: 1.1993,124,0,13.9,11.2,7.9,5.2,3.7, 2.8,2.7, 3.0,0.0,0.0 2.1993,125,1,14.2,11.4,8.0,5.3, 3.8,2.8,2.7,3.0,0.0,0.0 3.1993,126,2,1 4.4,11.7,8.2, 5.4,3.9,2.8,2.7,3.0,0.0,0.0 4.1993,127,3,13.7,11.1,7.7, 5.1,3.6,2.6,2.6,2.9,0.0,0.0 5.1993,128,4,12.9,10.4,7.2,4.7,3.3,2.4,2.4,2.8,0.0,0.0 6.1993,129,5,12.1,9.7,6.6,4.2,2.9,2.2,2.3,2.7,0.0,0.0 7.1993,130,6,12.3,9.9,6.8,4.3,3.0,2.2,2.3,2.7,0.0,0.0 8.1993,131,7,12.0,9.6,6.6,4.2,2.9,2.1,2.2,2.7,0.0,0.0 9.1993,132,8,12.6,10.1,7.0,4.5,3.1,2.2,2.3,2.7,0.0,0.0 将该段数据保存为某个文件,如:test.csv。Microsoft Excel支持CSV文件格式,图6-12示出在Microsoft Excel中打开test.csv的情形。

csv文件解释

CSV逗号分隔值文件 规则 0 开头是不留空,以行为单位。 1 可含或不含列名,含列名则居文件第一行。 2 一行数据不垮行,无空行。 3 以半角符号,作分隔符,列为空也要表达其存在。 4 列内容如存在半角逗号(即,)则用半角引号(即"")将该字段值包含起来。 5 列内容如存在半角引号(即")则应替换成半角双引号("")转义。 6 文件读写时引号,逗号操作规则互逆。 7 内码格式不限,可为ASCII、Unicode或者其他。 CSV文件多用于储存数据,EXCEL文件可以方便地另存为CSV文件。 CSV最常见于图片扫描文件包中,以下为这种用途文件的介绍。 COMMA SEPARATED VALUE的缩写,出现在档案总管中的档案类型是「逗号分隔」,依计算机原来的设定,如果直接点选该档案,计算机将以EXCEL的模式开启该档案。但建议您千万不要这么做,因为CSV档如果以EXCEL开启,由于计算机档案数据转换的原因,会将其CRC之数值改做科学记号方式储存,而造成档案中的CRC值发生错误。这也是笔者初出茅庐时所得到的惨痛经验,但如果想一窥CSV档的真实面貌,笔者建议您使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。开启后的CSV档包含了四或五个字段(部分),由左至右分别记载着:文件名称(XXXX.JPG)、档案大小(以BYTE为单位)、CRC32值(八个英文字母或数字组成)、档案路径(档案储存的子目录名称)和档案内容描述(一般来说都是明星的英文姓名甚或是专辑名称,也可能空白)。而其中第四栏「档案路径」因为每个人储存整理图档的方式不同,所以本栏通常不存在,而一般有含有「档案路径」这栏的CSV档,又称为ECSV档案所谓“CSV”,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。下面是一个实际CSV文件中的部分内容,让大家对他有一个感性的认识。我们选的是Sjojo_Rescan 的CSV文件(Sjojo是ASW-亚洲扫图风的成员之一)。 sj_mino1001.jpg,715282,4FB55FE8, sj_mino1002.jpg,471289,93203C5C, sj_mino1003.jpg,451929,C4E80467, 通常CSV文件开头是不留空的,以行为单位,每行中记录一张图片的了多项数据,每项数据用逗号来分隔(标准英文逗号)。一般说来集图用的.CSV文件的格式是这样的:文件名,文件大小(以字节为单位),CRC校验值,注释(可省略) sj_mino1001.jpg,715282,4FB55FE8, | | | | 文件名文件大小CRC值注释(已省略) 如果你的机器上装了Microsoft Excel的话,.csv文件默认是被Excel打开的。需要注意的是,当你双击一个.CSV文件,Excel打开它以后即使不做任何的修改,在关闭的时候Excel往往会提示是否要改成正确的文件格式,这个时候千万记得要选择“否”。因为Excel 认为.CSV 文件中的数字是要用科学记数法来表示的,而我们要的.CSV文件中的数字是普通的。如果你选择了“是”的话,Excel会把CSV文件中所有的数字用科学计数来表示

JAVA读取并解析CSV文件

import com.jfinal.ext.kit.DateKit; import https://www.doczj.com/doc/a11227927.html,ermodel.HSSFCell; import https://www.doczj.com/doc/a11227927.html,ermodel.HSSFRow; import https://www.doczj.com/doc/a11227927.html,ermodel.DateUtil; import java.io.*; import java.util.*; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Jason Wong on 2015/6/12. */ public class CsvFileUtil { private static final String SPECIAL_CHAR_A = "[^\",//n ]"; private static final String SPECIAL_CHAR_B = "[^\",//n]"; /** * 构造,禁止实例化 */ private CsvFileUtil() { } /* public static void main(String[] args) { // test try { readCsvFile("e://test1.csv"); } catch (FileNotFoundException ex) { Logger.getLogger(CsvFileUtil.class.getName()).log(L evel.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(CsvFileUtil.class.getName()).log(L evel.SEVERE, null, ex); } }*/ /** * csv文件读取
* 读取绝对路径为argPath的csv文件数据,并以List返回。 *

Java读写CSV文件

Java读写CSV文件 CSV文件简介 逗号分隔型取值格式(英文全称为Comma Separated Values,简称CSV),是一种纯文本格式,用来存储数据。在CSV中,数据的字段由逗号分开,程序通过读取文件重新创建正确的字段,方法是每次遇到逗号时开始新一段数据。 CSV文件是一个计算机数据文件用于执行审判和真正的组织工具,逗号分隔的清单。常常被用于移动表格数据之间的两个不同的计算机程序,例如关系数据库程序和电子表格程序。 本文以下面这个CSV文件为例,向大家简要介绍Java语言的CSV读写操作的一种实现方法。 writers.csv 张艺谋,1951,1114 小沈阳,1981,0507 孙红雷,1970,0816 闫妮,1971,0310 CSV读取操作 CSV文件读取主要用到java.io.BufferedReader类和java.util.StringTokenizer类,BufferedReader用来读入文件,StringTokenizer用来将一行数据分成多个字段。 下面是用来读取CSV文件内容的类: package tip; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.StringTokenizer; public class ReadCSV {

public static void main(String[] args) { try { File csv = new File("C://writers.csv"); // CSV文件 BufferedReader br = new BufferedReader(new FileReader(csv)); // 读取直到最后一行 String line = ""; while ((line = br.readLine()) != null) { // 把一行数据分割成多个字段 StringTokenizer st = new StringTokenizer(line, ","); while (st.hasMoreTokens()) { // 每一行的多个字段用TAB隔开表示 System.out.print(st.nextToken() + "/t"); } System.out.println(); } br.close(); } catch (FileNotFoundException e) { // 捕获File对象生成时的异常 e.printStackTrace(); } catch (IOException e) { // 捕获BufferedReader对象关闭时的异常 e.printStackTrace(); } } } 执行结果如下所示: CSV写操作 CSV文件读取主要用到java.io.BufferedWriter类。 下面是写CSV文件的类:

将所有的csv文件,放到一个csv文件中,并按列排列

将所有的csv文件,放到一个csv文件中,并按列排列 setwd('D:/crn_1')res=list.files(pattern='csv')len=length(res)f irst.data=read.csv(file=res[1],header=T,sep='')#读入第一个文件#文件为frame,总共列,故分别将每一列都单独赋值给一个向量 merge_data1=first.data[1]merge_data2=first.data[2]merge _data3=first.data[3]#将3个一维向量,按列排列,结合成二维数组,共3列 merge_data4=cbind(merge_data1,merge_data2,merge_da ta3)#查看数组的行数first_len=dim(merge_data4)#选取最后20行,以便使所有的文件行数相同,能够按列排列组合first_len1=first_len[1]-19merge_data=merge_data4[first_le n1:first_len[1],1:3] for(i in 2:len){new.data=read.csv(file=res[i],header=T,sep='') new_data1=new.data[1]new_data2=new.data[2]new_data 3=new.data[3]new_data4=cbind(new_data1,new_data2,ne w_data3)new_len=dim(new_data4)new_len1=new_len[1]-1 9new_data=new_data4[new_len1:new_len[1],1:3] merge_data=cbind(merge_data,new_data)}#将数据写出

c语言读取csv文件

include #include #define MAX_LINE 128 typedef struct { char week[4]; char month[4]; char date[3]; char hour_minute_second[9]; char year[5]; } system_time_t;void main() { FILE*fp; float value; system_time_t system_time; char line[MAX_LINE]; if((fp=fopen("d:\\1.csv","r"))==NULL) { printf("Can't open d:\\1.csv\n"); } memset(&system_time,0,sizeof(system_time_t)); while(fgets(line, MAX_LINE, fp)) { sscanf(line,"%f , %s%s%s%s%s",&value, system_time.week, system_time.month, system_time.date, system_time.hour_minute_second, system_time.year); printf("value=%f system_time=%s %s %s %s %s\n", value, system_time.week, system_time.month, system_time.date, system_time.hour_minute_second, system_time.year); } } struct record_t { double money; time_t tim; };

浅谈“CSV”格式文件

浅谈“CSV”格式文件 “CSV”是逗号分隔文件(Comma Separated V alues) 的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件。这种文件格式经常用来作为不同程序之间的数据交互。在CSV 文件中,数据“栏”以逗号分隔,可允许程序通过读取文件为数据重新创建正确的栏结构,并在每次遇到逗号时开始新的一栏。 CSV其实就是COMMA SEPARA TED V ALUE的缩写,出现在档案总管中的档案类型是「逗号分格」,依计算机原来的设定,如果直接点选该档案,计算机将以EXCEL的模式开启该档案。但建议您千万不要这么做,因为CSV档如果以EXCEL开启,由于计算机档案数据转换的原因,会将其CRC之数值改做科学记数法方式储存,而造成档案中的CRC值发生错误。如果想一窥CSV档的真实面貌,笔者建议您使用WORDPAD(写字板)或是NOTE(记事本)来开启。也可以先另存为新的EXCEL文档后,再打开EXCEL文档。也是方法之一。开启后的CSV档包含了若干个字段(部分)。 创建CSV文件有许多方法。最常用的方法是用电子表格程序,如Microsoft Excel。在Microsoft Excel中,选择“文件”>“另存为”,然后在“文件类型”下拉选择框中选择“CSV(逗号分隔)(*.csv)”。 CSV格式(即文件后缀为.csv,属于用excel软件可编辑的逗号分隔的一种文件格式),用记事本就能打开。 XLS文件就是Microsoft excel电子表格的文件格式,是二进制的文件只有用EXCEL才能打。

CSV是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。 CSV(以逗号分隔),CSV (*.csv) 文件格式只能保存活动工作表中的单元格所显示的文本和数值。工作表中所有的数据行和字符都将保存。数据列以逗号分隔,每一行数据都以回车符结束。如果单元格中包含逗号,则该单元格中的内容以双引号引起。 如果单元格显示的是公式而不是数值,该公式将转换为文本方式。所有格式、图形、对象和工作表的其他内容将全部丢失。欧元符号将转换为问号。 文本文件的内容有ASCII字符集中的字符组成 首先:文本文件和二进制文件是有区别的,对于文本文件来说,每个字节(或每几个字节)的意义相同,你只要一个一个字节的读出来就OK了;而对于二进制文件来说,可能有4个字节保存了一个整形,接下去有4个字节保存了一个浮点型等等……所以要想打开二进制文件需要了解它的文件格式。 CSV(以逗号分隔)具体文件格式: 每条记录占一行,以逗号为分隔符,逗号前后的空格会被忽略。字段中包含有逗号,该字段必须用双引号括起来。字段中包含有换行符,该字段必须用双引号括起来。字段前后包含有空格,该字段必须用双引号括起来。 字段中的双引号用两个双引号表示。

解析CSV文件和保存CSV

1.解析CSV文件: /** * 检查文件 */ function isFileOK($file){ //判断文件大小 $size = $file['size']/1000000;//M,默认上限是2MB if($size > 2) { dumpErrorCode($GLOBALS['language']['goods_file_error_size']); } //判断文件类型 $allowed_types = array('csv'); $filename = $file['name']; $ext = strtolower(end(explode('.', $filename))); if(!in_array($ext,$allowed_types)){ dumpErrorCode($GLOBALS['language']['goods_file_error_extension']); } $this->targetFolder = APPLICATION_ROOT.UPLOAD_PA TH.$_SESSION['platform_code'].'/'; if(file_exists($this->targetFolder)){ $ret = true; }else{ $ret = mkdir($this->targetFolder); } if(!$ret){ dumpErrorCode($GLOBALS['language']['goods_file_error_directory']); } $result = move_uploaded_file($file['tmp_name'], $this->targetFile); if ($result) { $count = file_put_contents($this->targetFile, $this->trans2utf8($this->targetFile)); if (!$count) { dumpErrorCode("



".$GLOBALS['language']['asset_error4']."
"); } }else { dumpErrorCode($GLOBALS['language']['asset_upload_fail']); } $handle = fopen($this->targetFile, 'r'); if(!$handle){ dumpErrorCode($GLOBALS['language']['goods_file_error_open']); } return $handle; }

读取csv文件实例

[原创]CSV Parser 在以前公司的时候用MFC container写过一个处理CSV文件的简单的Parser。换到新公司之后公司有条要求,就是能用STL Container的就不用MFC container。于是刚刚用STL重写了一遍,如果大家觉得有用不妨用用。欢迎帮我查查错。 CSV格式指的是用逗号分隔的字符串(Comma sepatate value)。在读取简单文本数据时应用最为广泛。(数据复杂是一般存储为XML格式。)任何用只有一层结构的数据,或者Class,Object都可以很方便的用CSV读取。 在读写CSV时要注意逗号和引号,如果一列数据已经有一个逗号,就不能再简单的用逗号作分割符,这一列数据会被自动加上""。同样如果一列数据中如果用引号也会造成混淆。C SV会在没个引号后附加一个引号。 我写的Class CCSVLineParser主要用一下几个函数:GetAt(), SetAt(), GetFullString(), SetF ullString(), size()。分别是读,写某一列,读写整行和得到总列数。我没有用operator overl oading重载符号“[]"而用了GetAt, SetAt()是我扩展了一点SetAt()的功能。GetAt(int intIndex)返回所制定的列的字符,如果intIndex越界会throw exception。而SetAt()只有在index小于零时throw exception,如果所制定的列数index过大,CSV会自动括展至这一列。同时表示整行字符的变量也会更新。 把下面的一个字符存在.csv文件然后用excel打开,你会发现他是5列。和程序的接过一样 下面是测试程序: 程序代码: #include \"stdafx.h\" #include \"csvlineparser.h\" // basic_string_erase.cpp // compile with: /EHsc #include #include int _tmain(int argc, _TCHAR* argv[]) { using namespace std; string str1 ( \"a,\\"b\\"\\"sassaa\\",\\"aw\\"\\",\\"\\"w\\"\\"jj\\",asd,\\"axsxs\\"\" ); CCSVLineParser csv(str1); try { for (int i = 0; i < (int)csv.size()+1; i++) { cout << csv.GetAt(i) << endl;

相关主题
文本预览
相关文档 最新文档