csv文件

DNA图谱 / 问答 / 标签

Sybase IQ 数据库使用load将csv文件加载入库,报错Could not execute statement.Filename does not exist

这个文件是在sybase IQ服务器上的吗?load from加载文件要在IQ服务器本地,Sybase IQ 15支持客户端加载,使用load from client file

如何用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, 1203, 06, 09, 12, 15, 1805, 10, 15, 20, 25, 3007, 14, 21, 28, 35, 4211, 22, 33, 44, 55, 66例1.1 读取整个文件csvread("csvlist.csv")ans =2 4 6 8 10 123 6 9 12 15 185 10 15 20 25 307 14 21 28 35 4211 22 33 44 55 66例1.2 读取第2行以下,第0列以右区域的数据m = csvread("csvlist.dat", 2, 0)m =5 10 15 20 25 307 14 21 28 35 4211 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 207 14 21 282、使用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 YesJoe Level2 23.54 60 9e19 -inf 0.001 NoBill 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 cellC{2} = {"Level1"; "Level2"; "Level3"} class cellC{3} = [12.34; 23.54; 34.9] class singleC{4} = [45; 60; 12] class int8C{5} = [4294967295; 4294967295; 200000] class uint32C{6} = [Inf; -Inf; 10] class doubleC{7} = [NaN; 0.001; 100] class doubleC{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 %*[^ ]");fclose(fid);返回一个1×1的元胞数组names{1} = {"Sally"; "Joe"; "Bill"}例子2.5指定的分隔符和空值的换算data.csv文件内容如下1, 2, 3, 4, , 67, 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 doubleC{2} = [2; 8] class doubleC{3} = [3; 9] class doubleC{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.6 CSV文件中含有空值和注释data2.csv内容如下abc, 2, NA, 3, 4// Comment Heredef, 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,,45,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 | Test31 91.5 89.2 A2 88.0 67.8 B3 76.3 78.1 C4 96.4 81.2 Dcollectoutput开关的默认值为0(false)将CSV中的每一列返回到Cell的一列中。如果将其值设为1(true),则会把相同数据类型的列返回到Cell的一列中。%默认不开启collectoutputfid = fopen("grades.txt");% read column headersC_text = textscan(fid, "%s", 4, "delimiter", "|");% read numeric dataC_data0 = textscan(fid, "%d %f %f %s")%开启collectoutputfrewind(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 使用缺省的控制字符如果要读的字符串中包含一些控制字符: Backspace Newline Carriage return Tab\ Backslash ()如果你的数据使用不同的控制字符,在调用textscan时能使用sprintf函数显式转换这些控制字符。

VBA怎样读取CSV文件??求正确代码和解释,谢谢!

普通的文本文件读写方式啊。csv文件就是文本文件,逗号分隔列,有些带双引号。