数据读写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条数据