文档库 最新最全的文档下载
当前位置:文档库 › matlab基本操作,读取csv文件

matlab基本操作,读取csv文件

matlab基本操作,读取csv文件
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])

m =

5 10 15 20

7 14 21 28

2、使用textscan函数

在使用textscan函数前必须用fopen函数打开CSV文件。textscan函数读取的结果会存在cell数组中。

调用格式

C = textscan(fid, 'format')

C = textscan(fid, 'format', N)

C = textscan(fid, 'format', param, value, ...)

C = textscan(fid, 'format', N, param, value, ...)

C = textscan(str, ...)

[C, position] = textscan(...)

关于textscan函数的具体用法见help textscan。

例2.1读取字符串

str = '0.41 8.24 3.57 6.24 9.27';

C = textscan(str, '%3.1f %*1d');

textscan returns a 1-by-1 cell array C:

C{1} = [0.4; 8.2; 3.5; 6.2; 9.2]

例2.2读取不同类型的数据

scan1.dat文件内容如下

Sally Level1 12.34 45 1.23e10 inf NaN Yes

Joe Level2 23.54 60 9e19 -inf 0.001 No

Bill Level3 34.90 12 2e5 10 100 No

程序如下

fid = fopen('scan1.dat');

C = textscan(fid, '%s %s ?2 ? %u %f %f %s');

fclose(fid);

返回值C是一个1×8的元胞数组,其值如下

C{1} = {'Sally'; 'Joe'; 'Bill'} class cell

C{2} = {'Level1'; 'Level2'; 'Level3'} class cell

C{3} = [12.34; 23.54; 34.9] class single

C{4} = [45; 60; 12] class int8

C{5} = [4294967295; 4294967295; 200000] class uint32

C{6} = [Inf; -Inf; 10] class double

C{7} = [NaN; 0.001; 100] class double

C{8} = {'Yes'; 'No'; 'No'} class cell

注意:C{5}的前两项超出了uint32数值范围,所以只给uint32的数值上限

例2.3去除一列字符串

%去除scan1.dat中地2列的字符串

fid = fopen('scan1.dat');

C = textscan(fid, '%s Level%u8 ?2 ? %u %f %f %s');

fclose(fid);

返回一个1×8的元胞数组,其中

C{2} = [1; 2; 3] class uint8

例2.4只读第一列

fid = fopen('scan1.dat');

names = textscan(fid, '%s %*[^\n]');

fclose(fid);

返回一个1×1的元胞数组

names{1} = {'Sally'; 'Joe'; 'Bill'}

例子2.5指定的分隔符和空值的换算

data.csv文件内容如下

1, 2, 3, 4, , 6

7, 8, 9, , 11, 12

程序如下

fid = fopen('data.csv');

C = textscan(fid, '%f %f %f %f %u32 %f', 'delimiter', ',', ...

'EmptyValue', -Inf);

fclose(fid);

返回一个1×6的元胞数组

C{1} = [1; 7] class double

C{2} = [2; 8] class double

C{3} = [3; 9] class double

C{4} = [4; -Inf] class double(empty converted to -Inf) C{5} = [0; 11] class uint32(empty converted to 0) C{6} = [6; 12] class double

例2.6CSV文件中含有空值和注释

data2.csv内容如下

abc, 2, NA, 3, 4

// Comment Here

def, na, 5, 6, 7

分离出注释语句

fid = fopen('data2.csv');

C = textscan(fid, '%s %n %n %n %n', 'delimiter', ',', ...

'treatAsEmpty', {'NA', 'na'}, ...

'commentStyle', '//');

fclose(fid);

返回1×5的元胞数组

C{1} = {'abc'; 'def'}

C{2} = [2; NaN]

C{3} = [NaN; 5]

C{4} = [3; 6]

C{5} = [4; 7]

例2.7处理重复分隔符

data3.csv内容如下

1,2,3,,4

5,6,7,,8

将multipledelimsasone参数的值赋为1,剔除重复的分隔符

fid = fopen('data3.csv');

C = textscan(fid, '%f %f %f %f', 'delimiter', ',', ...

'MultipleDelimsAsOne', 1);

fclose(fid);

返回一个1×4的元胞数组

C{1} = [1; 5]

C{2} = [2; 6]

C{3} = [3; 7]

C{4} = [4; 8]

例2.8使用collectoutput开关

grades.txt内容如下

Student_ID | Test1 | Test2 | Test3

1 91.5 89.

2 A

2 88.0 67.8 B

3 76.3 78.1 C

4 96.4 81.2 D

collectoutput开关的默认值为0(false)将CSV中的每一列返回到Cell的一列中。如果将其值设为1(true),则会把相同数据类型的列返回到Cell的一列中。

%默认不开启collectoutput

fid = fopen('grades.txt');

% read column headers

C_text = textscan(fid, '%s', 4, 'delimiter', '|');

% read numeric data

C_data0 = textscan(fid, '%d %f %f %s')

%开启collectoutput

frewind(fid);

C_text = textscan(fid, '%s', 4, 'delimiter', '|');

C_data1 = textscan(fid, '%d %f %f %s', ...

'CollectOutput', 1)

fclose(fid);

使用collectoutput后,ID成为cell中的一列,Test1和test2合起来成为cell中的一列,test3成为cell中的一列

C_data0 =

[4x1 int32] [4x1 double] [4x1 double] {4x1 cell}

C_data1 =

[4x1 int32] [4x2 double] {4x1 cell}

frewind的作用是让后面的textscan函数使用前面的fid,一个fid只能让一个textscan 读

例2.9使用缺省的控制字符

如果要读的字符串中包含一些控制字符:

\b Backspace

\n Newline

\r Carriage return

\t Tab

\\ Backslash (\)

如果你的数据使用不同的控制字符,在调用textscan时能使用sprintf函数显式转换这些控制字符。

lyric = sprintf('Blackbird\fsinging\fin\fthe\fdead\fof\fnight');

C = textscan(lyric, '%s', 'delimiter', sprintf('\f'));

textscan returns a 1-by-1 cell array C:

C{1} =

{'Blackbird'; 'singing'; 'in'; 'the'; 'dead'; 'of'; 'night'}

例2.10读取部分字符串

lyric = 'Blackbird singing in the dead of night'

%读取第一个单词:

[firstword, pos] = textscan(lyric,'?', 1);

%读剩下的部分

lastpart = textscan(lyric(pos+1:end), '%s');

3、当成数据库使用

具体方法可以去百度“matlab 数据库编程”

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) {

Matlab文件读取和写函数总结

Matlab读取文件函数总结 1.load读取方式 a.基本说明: 只能读取数值数据,不能读取含文本的数据;日期按数值读取。 b.调用方式: a=load(filename); c.有无分隔符限制: 无需输入分隔符,可自动识别空格、逗号、分号、制表符。 d.能否自定义读取范围: 不能。 e.适用文件类型: txt、csv。 2.importdata读取方式 a.基本说明: 可读取数值数据和含文本的数据,但是要求文本在数据的第一行或第一列。返回值分为数值部分(data)和文本部分(textdata) b.调用方式: a=importdata(filename,delm,nheaderlines); filename:文件名(如果文件在其他路径下,文件名前需加所在路径。) delm:分隔符 nheaderlines:从第nheaderlines+1行开始读取数值数据。 c.有无分隔符限制: 多列数据时需输入分隔符。若不输入分隔符,整行会被作为字符串放入一列。 d.能否自定义读取范围: 可从某一行开始读取数值数据。若使用importdata按钮,则可自定义读取范围和设置数据类型。 f.适用文件类型 txt、xls、xlsx、csv。 3.textscan读取方式 a.基本说明: 可对列按照自定义格式读取数据,必须输入每列的读取格式,可跳过某个列或几列。 按数值读取时,缺少值以NaN填补;按字符读取时,缺少值以空格填补。返回值按列放入元胞数组。 b.调用方式: c = textscan(fid,'format',n,'param',value) fid:文件指针。使用textscan函数时需先使用fopen函数打开数据文件,返回给fid 文件若不再使用,则需用fclose(fid)关闭文件。 ‘format’:定义每列的读取格式。例如%s表示按字符串读取、%d表示按整数读取、%D 按日期读取、%*表示跳过该列。level%u8表示将level1读取成1,去掉level。 ‘param’,value:这两个参数成对出现。例如’Delimiter’,’s’表示按分隔符为’,’进行读取。 c.有无分隔符限制 可自定义分隔符,不是必须的。 d.能否自定义读取范围:

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)

Matlab文件操作及读txt文件(fopen,fseek,fread,fclose)

Matlab文件操作及读txt文件(fopen,fseek,fread,fclose) matlab文件操作 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为: fid=fopen(文件名,…打开方式?) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下: λ…r?:只读方式打开文件(默认的方式),该文件必须已存在。 …r+?:读写方式打开文件,打开后先读后写。该文件必须已存在。λλ…w?:打开后写入数据。该文件已存在则更新;不存在则创建。 …w+?:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。λ λ…a?:在打开的文件末端添加数据。文件不存在则创建。

…a+?:打开文件后,先读入数据再添加数据。文件不存在则创建。 另外,在这些字符串后添加一个“t”,如…rt?或…wt+?,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen 函数默认的打开方式。 2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(…all?)。 2、二进制文件的读写操作 1)写二进制文件 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为: COUNT=fwrite(fid,A,precision) 说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据

把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的各种数据读取、文件读写等操作汇总

Matlab 的各种数据读取、文件读写等操作汇总 MATLAB 提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。至于选择哪种机制,则根据下面两个因素决定:?用户所执行的 操作是导入数据还是导出数据;?数据的格式为文本格式、 二进制格式还是如HDF 之类的标准格式。将数据导入MATLAB 中最容易的方法就是使用导入数据模板(Import Wizard) ,使用该模板时不需要知道数据的格式,只需指定包含这些数据的文件,然后导入模板会自动处理文件内容。本章重点内容如下:? 文件的打开和关闭? 文本文件的读取?存写ASCII数据?二进制数据的读取? 二进制数据的存写? 使用I/O文件函数进行数据读写?MAT 文件的读写 2.1 文件的打开和关闭2.1.1 文件的打开无论是要读写ASCII 码文件还是二进制文件,都必须先用fopen 函数将其打开,在默认情况下,fopen 以二进制格式打开文件,它的使用语法如下:fopen ('filename', 'mode') 其中filename 表示要读写的文件名称,mode 则表示要对文件进行的处理方式,如下:rt :以只读方式(Reading)打开文件wt:以只写方式(Writing)打开文件at:以追加方式(Appending)打开文件,新内容将从原文件后面续写r+t:以同时读写方式打开文件w+t :以同时读写创建文件,原文件内容被清除

a+t :以同时读和追加(Reading and Appdending) 方式,原文件内容被保留,新内容将从原文件的后面开始At :以读写方式打开或创建文件,适用于对磁带介质文件的操作Wt :以写入方式打 开或创建文件,原文件内容被清除,适用于磁带介质文件的操作fopen 函数有两个返回值,一个是返回一个文件标志(file Identifier) ,它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。如果返回的文件标识是-1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限。另一个返回值就是message ,用于返回无法打开文件的原因。为了安全起见,最好在每次使用fopen 函数时,都测试其返回值是否为有效值。下面以脚本m 文件为例来声明文件的打开。例 2-1 %exam1.m[f,message]=fopen('fileexam1', 'r')if f==-1disp (message); % 显示错误信息end 若文件fileexam1 不存在,则显示如下信息。Cannot open file.existence?permissions?memory?... 例2-2 %exam2.m[f,message]=fopen('fileexam2', 'r');if f==-1disp (message); % 显示错误信息else disp(f);end 若文件fileexam2 存在,则返回f值。 2.1.2 文件的关闭一旦完成文件的读写,最好关闭文件,以便对其进行其他操作。这时就可以使用fclose 函数来关闭文件,其适用语法如下:fclose(f) 。其中 f 为打开文件的标志,若fclose 函数返回值为0 ,则表示成功关闭 f 标志的文件;若返回值为-1,

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])

matlab文件操作及读txt文件

matlab文件操作及读txt文件 matlab文件操作 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为: fid=fopen(文件名,‘打开方式’) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下: λ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。λλ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。λ λ‘a’:在打开的文件末端添加数据。文件不存在则创建。 λ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。

另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。 2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。 2、二进制文件的读写操作 1)写二进制文件 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为: COUNT=fwrite(fid,A,precision) 说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。 例6.8 将一个二进制矩阵存入磁盘文件中。 >> a=[1 2 3 4 5 6 7 8 9]; >> fid=fopen('d:test.bin','wb') %以二进制数据写入方式打开文件

【免费下载】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];//首字在大表位置

Matlab数据文件的读写

Matlab数据文件的读写 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍MATLAB中文件的读写和数据的导入导出。 了解MATLAB的基本数据操作 掌握MATLAB中文本文件的读写方式 掌握MATLAB通过界面导入导出数据 了解MATLAB中的基本输入输出函数 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。 13.1.1 文件的存储 MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。 1. 保存整个工作区 选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。 2. 保存工作区中的变量 在工作区浏览器中,右击需要保存的变量名,选择Save

As…,将该变量保存为MAT文件。 3. 利用save命令保存 该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下: ● save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。 ● save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。 ● save('filename', 'var1', 'var2', ...):保存指定的变量在filename 指定的文件中。 ● save('filename', '-struct', 's'):保存结构体s中全部域作为单独的变量。 ● save('filename', '-struct', 's', 'f1', 'f2', ...):保存结构体s中的指定变量。 ● save('-regexp', expr1, expr2, ...):通过正则表达式指定待保存的变量需满足的条件。 ● save('..., 'format'),指定保存文件的格式,格式可以为MAT 文件、ASCII文件等。 13.1.2 数据导入

如何在matlab中读取TXT数据文件

如何在matlab中读取TXT数据文件 文章来源:不详作者:佚名 -------------------------------------------------------------------------------- 该文章讲述了如何在matlab中读取TXT数据文件. 今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家(包括me)使用: 下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以。 function dataout=dataread(filein,fileout,line) fidin=fopen(filein,'r'); fidout=fopen(fileout,'w'); nline=0; while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行

nline=nline+1; if nline==line fprintf(fidout,'%s\n',tline); dataout=tline; end end fclose(fidin); fclose(fidout); %%%%%%%%%%%%%%%%%%%%%%%%%% 调用格式:dataout=dataread(filein,fileout,line) 如果你的txt文件数据是矩阵形式的,而没有其它的文字,用下面的程序就可以读任意行任意列的数据

a=textread('ll.txt'); t=a(1:43,4:10); 1:43是1到43行,4:10是4到10列的数据,当然也可以只读一个数据,如果你的matlab没有textread函数,直接从mathworks网站下载就行。 根据txt文档不同种类介绍不同的读取数据方法 转自:https://www.wendangku.net/doc/2a359683.html,/youngbrave/blog/item/878db31fcd4f220f304e15bb.html 一、纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为“17.901 -1.1111 33.045 17.891 -1.1286 33.045 17.884 -1.1345 33.045” 可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。 二、中英文和数据如test1.txt “你好 欢迎来到

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环境,默认的字符串比较就是依照字节码比较

matlab文件操作fopen,fseek,fread,fclose等

文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为: fid=fopen(文件名,…打开方式?) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下: …r?:只读方式打开文件(默认的方式),该文件必须已存在。λ …r+?:读写方式打开文件,打开后先读后写。该文件必须已存在。λ …w?:打开后写入数据。该文件已存在则更新;不存在则创建。λ …w+?:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。λ …a?:在打开的文件末端添加数据。文件不存在则创建。λ …a+?:打开文件后,先读入数据再添加数据。文件不存在则创建。λ 另外,在这些字符串后添加一个“t”,如…rt?或…wt+?,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。 2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(…all?)。 2、二进制文件的读写操作 1)写二进制文件 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为: COUNT=fwrite(fid,A,precision) 说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。 例6.8 将一个二进制矩阵存入磁盘文件中。 >> a=[1 2 3 4 5 6 7 8 9]; >> fid=fopen('d:\test.bin','wb') %以二进制数据写入方式打开文件 fid = 3 %其值大于0,表示打开成功 >> fwrite(fid,a,'double') ans = 9 %表示写入了9个数据

如何实现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文件数据读写

MATLAB中文件输入及输出指令 一、基本文件输入输出 File import/export functions. dlmread- Read ASCII delimited file. dlmwrite- Write ASCII delimited file. importdata - Load data from a file into MATLAB. daqread- Read Data Acquisition Toolbox (.daq) data file. matfinfo- Text description of MAT-file contents. xlsread - Get data and text from a spreadsheet in an Excel workbook. xlswrite- Stores numeric array or cell array in Excel workbook. xlsfinfo - Determine if file contains Microsoft Excel spreadsheet. Formatted file I/O. fgetl- Read line from file, discard newline character. fgets - Read line from file, keep newline character. fprintf - Write formatted data to file. fscanf - Read formatted data from file. textscan - Read formatted data from text file. textread - Read formatted data from text file. File opening and closing. fopen - Open file. fclose - Close file. Binary file I/O. fread - Read binary data from file. fwrite - Write binary data to file. File positioning. feof - Test for end-of-file. ferror - Inquire file error status. frewind - Rewind file. fseek - Set file position indicator. ftell - Get file position indicator.

【免费下载】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的情形。

相关文档