如何读取CSV文件以及如何读取带有字符串数据项的CSV文件

如何读取CSV文件以及如何读取带有字符串数据项的CSV文件,第1张

CSV,逗号分开的文件,如果能快速的读取这些文件中的数据,无疑会帮助我们解决很多问题。
1、 只有数据的CSV文件,CSV file that includes only numbers
As an example, create a text file, named as 'datacsv' if you prefer, which includes the following data with any editor you like
1, 2, 3, 4
5, 6, 7, 8
9, 0, 1, 2
1) Read all the data into a 3X4 matrix
Mat = csvread('datacsv');
disp(Mat);
2) Read part of the data with specification of the start index What is important is the data is accessed from index 0 in the direction of row and column
Mat = csvread('datacsv', 1, 2);
disp(Mat);
Result showing below
7 8
1 2
3) Read only the specified range
Mat = csvread('datacsv', 0, 1, [0,1,2,2]);
disp(Mat);
Note the starting index you specified in the second and third parameters is the same with the first two arguments in the fourth parameter matrix
2、 How to read a CSV file containing string data items
Create a file, named as 'datastrcsv' if you like Add the following data
1, 2, 3, Mine
4, 5, 6, Yours
7, 8, 9, His
One who try to use csvread shall encounter frustration :(
I propose another solution to solve this case
fid = fopen('datastrcsv');
dcells = textscan(fid, '%f, %f, %f, %s');
fclose(fid);
dcellneeds = dcells(1:3);
Mat = cell2mat(dcellneeds);
disp(Mat);
The result showing below
1 2 3
4 5 6
7 8 9
Try it and good luck :)

    在小批量数据导入的时候,最常用的就是使用excel工具,将数据保存为xls或csv文件,然后上传到服务器,然后读取出来通过数据库访问类的相关方法更新到数据库中。对于如何读取xls文件的方法,网上太多了,使用excel对象或ole db/odbc连接都行。对于csv文件,其中有一种方式就是通过文件流,将它作为文本读取出来,这其中会遇到一点小意外。
我们知道,使用excel工具保存成csv文件时有几个规则:
1、每一行的单元格内容之间用逗号分隔。
2、如果单元格的内容本身有逗号,这个单元格的内容将会用引号包含。
3、如果单元格的内容本身有引号,引号不在首或尾,这个单元格内容不会被引号包含。引号在首或尾,这个单元格内容会被引号包含且原来首尾的引号会被转义。
所以对于这样的内容,直接按逗号或引号使用split方法明显不合适,需要预先处理一下。办法很多,最容易想到的就是用正则过滤掉本身带逗号或引号的内容,剩下的再按逗号split就方便了,我将csv文件中的每一行获取出来存放到一个键值对的集合中,为了保证前后顺序一致,使用SortedList。

CSV是(逗号分隔值)的英文缩写,通常都是纯文本文件。建议使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。开启后的CSV档包含了四或五个字段(部分),由左至右分别记载着:文件名称(XXXXJPG)、档案大小(以BYTE为单位)、CRC32值(八个英文字母或数字组成)、档案路径和档案内容描述。而其中第四栏「档案路径」因为每个人储存整理图档的方式不同,所以本栏通常不存在,而一般有含有「档案路径」这栏的CSV档,又称为ECSV档案。
逗号分隔列出日期之前,尽早从个人电脑,但被广泛应用于最早前IBM个人电脑时代的个人电脑磁带存储备份和交 换的信息的数据库机器的两种不同的架构。在这一天,负担得起的硬盘驱动器不存在,和许多小型企业试图实现 效益的计算使用软盘的软件。
CSV没有通用标准规范。不同的程序间CSV的标准有差异很常见,这可能导致交互 *** 作困难。互联网通信的CSV文件,资料的IETF文件( 符合RFC 4180于2005年10月)介绍了格式的“text/csv格式”MIME类型登记的IANA负责。另一个相关的规格是由派出文字其中也包括CSV格式。
许多非正式文件的存在,说明CSV格式。如何:逗号分隔值(CSV)文件格式概述了CSV格式中使用最广泛的应用和解释它如何能最好地利用和支持。
基本规则
CSV格式是分隔的数据格式,有字段/列分隔的逗号字符和记录/行分隔换行符。字段包含特殊字符(逗号,换行符,或双引号),必须以双引号括住。行内包含一个项目是空字符串,可以以双引号括住。字段的值包含双引号时,要双写这个双引号(就像把一个双引号当做转义符一样)。CSV文件格式并不需要特定的字符编码,字节顺序,或行终止格式。
每个记录是一个行终止了换行符(ASCII码/低频= 0×0A)或回车换行符和一双(ASCII码/ CRLF = 0×0D0×0A),然而,线路中断可以嵌入。
字段用逗号分隔(虽然地点在逗号作为小数点,分号是用来代替作为定界符)

读取csv字典变成str了怎么办:python中有一个读写csv文件的包,直接import csv即可。
csv文件的性质:
值没有类型,所有值都是字符串
不能指定字体颜色等样式
不能指定单元格的宽高,不能合并单元格
没有多个工作表
不能嵌入图像图表
在CSV文件中,以,作为分隔符,分隔两个单元格。像这样a,,c表示单元格a和单元格c之间有个空白的单元格。依此类推。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13412381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-31
下一篇 2023-07-31

发表评论

登录后才能评论

评论列表(0条)

保存