数据读写csv文件与xls/xlsx文件

Posted Zhi Zhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据读写csv文件与xls/xlsx文件相关的知识,希望对你有一定的参考价值。

目录

一、csv格式与xls/xlsx格式的区别

csv格式与xls/xlsx格式的文件在样式上看起来很像,且都可以用EXCEL打开,其中xls是Office2003版本的EXCEL表格,xlsx是2007版本及以上的EXCEL表格,这两种EXCEL表格都可以使用xlsread函数、xlswrite函数来读写文件。但csv格式的文件与上述xls/xlsx格式的文件有本质的不同。

1)csv是文本文件,可以用记事本打开;xls/xlsx是二进制文件,只有用EXCEL才能打开。
2)csv文件只能保存活动工作表中单元格所显示的文本和数值,数据中每一列以逗号分隔,每一行都以回车换行符结束。如果单元格中包含逗号,则该单元格中的内容以双引号引起。xls/xlsx文件各个单元格之间的分隔符为Tab。
3)csv文件可以用记事本打开,进而转为txt格式的文件;xls/xlsx不能直接转为txt格式。若想转换,则需要另存为csv格式,然后再将csv以txt方式打开,点击另存为txt文件。

二、两种文件格式的读写操作

1.csv文件的读/写函数

csvread

语法:

data = csvread(filename);

filename为指定目录下的文件,例如 filename = ‘E:\\MATLAB_Study\\数据.csv’。

data = csvread(filename, r, c);

r、c分别代表指定文件中的行号和列号,r和c为0时,代表从文件中的第一行和第一列开始读取数据。

data = csvread(filename, r, c, rng);

rng表示在指定行号和列号的范围之间读取数据,例如 rng = [R1 C1 R2 C2],R1和R2代表行号,C1和C2代表列号。

csvwrite

data = rand(5,6);			% 产生随机数
filename = '数据.csv';		% 文件名
csvwrite(filename,data);	% 写数据

2.xls/xlsx文件的读/写函数

xlsread

语法:

filename = '数据.xlsx';		% 文件名
sheet = 'sheet1';			% 工作表
range = 'A2:C3';			% 读取范围
[data2, text, rawData] = xlsread(filename,sheet,range);

sheet:指定读取的工作表;
range:工作表的范围;
data:数值数据;
text:文本数据;
rawData:原始数据,即包括文件中的数值和文本数据。

xlswrite

filename = '写数据.xlsx';	% 文件名
data = rand(5,6);			% 产生随机数
sheet = 'sheet2';			% 工作表
xlswrite(filename,data,sheet);

三、应用案例

1.实例1

参考资料

[1] csv和xlsx区别
[2] matlab将多个excel读取并存到一个excel的不同sheet中

以上是关于数据读写csv文件与xls/xlsx文件的主要内容,如果未能解决你的问题,请参考以下文章

Python处理Excel文件(csv, xls, xlsx)

用Java将Excel的xls和xlsx文件转换成csv文件的方法, XLS2CSV, XLSX2CSV

如何批处理将多个文件夹下的excel文件(xls,xlsx,csv等)合并成一个文件?

文件上传(支持csv,xls,xlsx,txt格式)把文件导入到minio,还需要生成一个demo临时文件只放10条数据

文件上传(支持csv,xls,xlsx,txt格式)把文件导入到minio,还需要生成一个demo临时文件只放10条数据

正则表达式 判断文件名后缀是不是为 csv xls xlsx