matlab2021版关于csv文件读写的一些方法

2023-10-31

首先给出一些演示数据,直接给出来大家看起来都方便
完整代码在最后,有基础的可以直接看代码
下面是data.csv的文件内容,可以看得出里面有文本也有数值。

代码,名称,最新价,涨跌额,涨跌幅,买入,卖出,昨收,今开,最高,最低,成交量,成交额
sh600000,浦发银行,8.75,-0.05,-0.568,8.75,8.76,8.8,8.78,8.8,8.72,28252954.0,247296068.0
sh600004,白云机场,13.9,1.08,8.424,13.9,13.91,12.82,13.18,14.03,13.12,54580226.0,751308612.0
sh600006,东风汽车,6.46,-0.15,-2.269,6.46,6.47,6.61,6.59,6.59,6.43,10572831.0,68746162.0
sh600007,中国国贸,14.11,-0.1,-0.704,14.1,14.13,14.21,14.19,14.29,14.02,1667300.0,23557102.0
sh600008,首创环保,3.35,-0.03,-0.888,3.34,3.35,3.38,3.37,3.37,3.33,39982746.0,133824032.0
sh600009,上海机场,54.39,3.34,6.543,54.39,54.4,51.05,52.0,55.34,52.0,31432123.0,1704492619.0
sh600010,包钢股份,2.5,-0.03,-1.186,2.49,2.5,2.53,2.52,2.52,2.48,247833786.0,619607197.0
sh600011,华能国际,8.68,0.25,2.966,8.66,8.68,8.43,8.33,8.95,8.3,125973765.0,1093612339.0

我这里介绍三种方式来读这个文件
第一种是importdata
(读的时候记得把data.csv放在脚本文件的同一个目录下)

all = importdata('data.csv');
data = all.data  % 获取数值数据
textdata = all.textdata %获取文本数据

运行结果:

data =

1.0e+09 *

列 1 至 5

0.0000   -0.0000   -0.0000    0.0000    0.0000
0.0000    0.0000    0.0000    0.0000    0.0000
0.0000   -0.0000   -0.0000    0.0000    0.0000
0.0000   -0.0000   -0.0000    0.0000    0.0000
0.0000   -0.0000   -0.0000    0.0000    0.0000
0.0000    0.0000    0.0000    0.0000    0.0000
0.0000   -0.0000   -0.0000    0.0000    0.0000
0.0000    0.0000    0.0000    0.0000    0.0000

列 6 至 10

0.0000    0.0000    0.0000    0.0000    0.0283
0.0000    0.0000    0.0000    0.0000    0.0546
0.0000    0.0000    0.0000    0.0000    0.0106
0.0000    0.0000    0.0000    0.0000    0.0017
0.0000    0.0000    0.0000    0.0000    0.0400
0.0000    0.0000    0.0000    0.0000    0.0314
0.0000    0.0000    0.0000    0.0000    0.2478
0.0000    0.0000    0.0000    0.0000    0.1260

列 11

0.2473
0.7513
0.0687
0.0236
0.1338
1.7045
0.6196
1.0936

textdata =

9×13 cell 数组

列 1 至 3

{'代码'    }    {'名称'   }    {'最新价' }
{'sh600000'}    {'浦发银行'}    {0×0 char}
{'sh600004'}    {'白云机场'}    {0×0 char}
{'sh600006'}    {'东风汽车'}    {0×0 char}
{'sh600007'}    {'中国国贸'}    {0×0 char}
{'sh600008'}    {'首创环保'}    {0×0 char}
{'sh600009'}    {'上海机场'}    {0×0 char}
{'sh600010'}    {'包钢股份'}    {0×0 char}
{'sh600011'}    {'华能国际'}    {0×0 char}

列 4 至 7

{'涨跌额' }    {'涨跌幅' }    {'买入'  }    {'卖出'  }
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}

列 8 至 11

{'昨收'  }    {'今开'  }    {'最高'  }    {'最低'  }
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}    {0×0 char}    {0×0 char}

列 12 至 13

{'成交量' }    {'成交额' }
{0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}
{0×0 char}    {0×0 char}

我们主要使用的就是数值数据,他会自动将是数值数据的列取出来因此数值数据只有11列,剩下两列明显是非数值的。

第二种方法csvread

data2 = csvread("data.csv", 1, 2)

表示读取的是跳过第一、二列和跳过第一行的数据才开始读取。这种方法好像不太能读文本数据,读了就报错。
运行结果就是和上面读取的数值内容是一样的。

第三种readtable

d = readtable('data.csv')

保存数据
第一种csvwrite

csvwrite("output.csv",data2, 0, 0)

参数分别为 文件名, 数据, 要保存的内容从第几行、列往后开始保存,同样好像不能够保留文本。

第二种writetable

% 官方文档给的示例
LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];
T = table(LastName,Age,Smoker,Height,Weight,BloodPressure)
writetable(T,"o.csv")

o.csv打开如下
在这里插入图片描述
可见能够保留字符串,列索引都可以看得到。
同样我们可以自定义列索引和行索引

T.Properties.VariableNames = {'a','b','c','d','e','f'}
T.Properties.RowNames = {'g','h','i','j','k'}

结果如下
在这里插入图片描述

完整代码:
(要看哪条的结果记得把分号去掉)

clc, clear
all = importdata('data.csv');
r = readtable("data.csv");
data = all.data;
textdata = all.textdata;
data2 = csvread("data.csv", 1, 2);
d = readtable('data.csv')

csvwrite("output.csv",data2, 0, 0);

LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];
T = table(LastName,Age,Smoker,Height,Weight,BloodPressure);
T.Properties.VariableNames = {'a','b','c','d','e','f'};
T.Properties.RowNames = {'g','h','i','j','k'};
writetable(T,"o.csv");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab2021版关于csv文件读写的一些方法 的相关文章

  • 在 MATLAB 中用两个值替换向量值

    我必须创建一个以向量作为输入的函数v和三个标量a b and c 该函数替换了的每个元素v等于a有一个二元素数组 b c 例如 给定v 1 2 3 4 and a 2 b 5 c 5 输出将是 out 1 5 5 3 4 我的第一次尝试是尝
  • 从云函数在 Google Cloud Storage 中创建新的 csv 文件

    第一次使用 Google 云存储 下面我有一个云函数 每当 csv 文件上传到时就会触发该函数my folder在我的桶里 我的目标是在同一文件夹中创建一个新的 csv 文件 读取上传的 csv 的内容并将每一行转换为将进入新创建的 csv
  • 整数的十进制表示形式中的分隔数字

    例如 我想将用户输入作为整数输入 45697 并将前两位数字存储在数组 向量或其他内容中 例如 4 5 6 9 7 这样我就可以使用一些函数调用来检查前两个值 4 5 并对它们进行计算 问题 我不知道如何存储恢复前两个值 有没有简单的函数调
  • 如何从绘图处理程序中绘图?

    我有绘图的处理程序或图形的处理程序 例子 h plot 1 0 2 10 xx get h xx DisplayName Annotation 1x1 handle Color 0 0 1 LineStyle LineWidth 0 500
  • 通过傅里叶空间填充进行插值

    我最近尝试在 matlab 上实现一个在傅立叶域中使用零填充的插值方法的简单示例 但我无法正常工作 我总是有一个小的频移 在傅里叶空间中几乎不可见 但它在时空上产生了巨大的误差 由于傅里叶空间中的零填充似乎是一种常见 且快速 的插值方法 因
  • 我可以在 R 中并行读取 1 个大 CSV 文件吗? [复制]

    这个问题在这里已经有答案了 我有一个很大的 csv 文件 需要很长时间才能阅读 我可以使用 parallel 或相关的包在 R 中并行读取此内容吗 我尝试过使用 mclapply 但它不起作用 根据OP的评论 fread来自data tab
  • 频域和空间域的汉明滤波器

    我想通过在 MATLAB 中应用汉明滤波器来消除一维信号中的吉布斯伪影 我所拥有的是k1这是频域中的信号 我可以通过应用 DFT 来获取时域信号k1 s1 ifft ifftshift k1 该信号具有吉布斯伪影 现在 我想通过 A 乘以汉
  • 优化 MATLAB 代码(嵌套 for 循环计算相似度矩阵)

    我正在 MATLAB 中基于欧几里德距离计算相似度矩阵 我的代码如下 for i 1 N M N is the size of the matrix x for whose elements I am computing similarit
  • Matlab Solve():未给出所有解决方案

    我试图找到两条曲线的交点 syms x y g x 20 exp x 30 3 5 1 sol x sol y solve x 22 3097 2 y 16 2497 2 25 y g x x y Real true 它只提供一种解决方案
  • python csv按列转换为字典

    是否可以将 csv 文件中的数据读取到字典中 使得列的第一行是键 同一列的其余行构成列表的值 例如 我有一个 csv 文件 strings numbers colors string1 1 blue string2 2 red string
  • 作为动画的八度情节点

    我有以下八度脚本 TOTAL POINTS 100 figure 1 for i 1 TOTAL POINTS randX rand 1 randY rand 1 scatter randX randY hold on endfor 当我运
  • 单元格的 Fieldnames 函数的等效项

    正如标题所说 只是想知道是否有一个函数可以用作字段名 http www mathworks co uk help matlab ref fieldnames html 但适用于单元格 所以如果我有类似的东西 a imread redsqua
  • 为什么 MATLAB 在打印大量 (.png) 图形时速度会变慢?

    我正在将大量数字打印为 png 文件 每个图都是数据矩阵中的一列图 我获取 png 文件并将它们串在一起形成动画 我的问题是 前几百张图像打印得很快 但创建每个新图形的时间却迅速增加 从前几百个 png 文件的约 0 2 秒到第 800 个
  • 非模态 questdlg.m 提示

    我的代码绘制了一个图 然后提示用户是否想使用不同的参数绘制另一个图 问题是 当 questdlg m 打开时 用户无法查看绘图的详细信息 这是代码 while strcmp Cont Yes 1 Some code modifying da
  • 从 Java 运行 MATLAB 函数

    我在 MATLAB 中有一个 m 文件 我想从 Java 调用该文件 并以字符串或 Java 中的任何形式获取解决方案 这听起来很简单 但由于某种原因我无法让它发挥作用 我试过这个 matlab nosplash wait nodeskto
  • 为什么 mex 文件中的 OpenMP 仅产生 1 个线程?

    我是 OpenMP 新手 我有以下代码 使用配置了 MSVS2010 的 Matlab mex 可以正常编译 计算机有 8 个可用处理器 我也使用 matlabpool 检查过 include mex h include
  • 使用 R2010b 中的符号工具箱来求解和/或 linsolve

    我前几天问了一个问题here https stackoverflow com questions 20317038 matlab linear congruence solver that supports a non prime modu
  • 在VBA中将字符串文本拆分为单独的行

    我的 excel 或 csv 文件 中有 2 个文本框 如下所示 文本框 1 包含 11111 22222 33333 文本框 2 包含 55555 11111 22222 33333 55555 我希望 之间的文本位于 3 个不同的行上
  • 动态调整自定义刻度数

    Taking SO 的一个例子 https stackoverflow com a 7139485 97160 我想根据当前视图调整轴刻度 这是默认行为 除非设置自定义的刻度数 下图展示了由此产生的行为 左侧是默认行为 右侧是带有自定义刻度
  • Excel VBA - 如何逐行读取csv文件而不是整个文件

    这是我需要读取的 csv 文件内容 header header header header header header value value value value value value value value value 我在网上找到

随机推荐

  • java zip压缩文件中文文件名乱码

    使用java util zipoutputstream发现中文名出现乱码 一直试着使用new String filename getBytes GBK ISO 8859 1 还是无效 后来查阅资料 java util zipoutputst
  • 字符串分割的几种方法

    方法一 利用STL自己实现split 函数 常用 简单 直观 原型 vector
  • 转 欢迎使用CSDN-markdown编辑器

    https blog csdn net CSDNwei article details 51836182 Extern的问题在于不知道这个关键词出现的时候到底是声明还是定义 谨记 声明可以多次 定义只能一次 函数的声明extern关键词是可
  • java正则表达式讲解

    工具集正则表达式 http www ostools net regex w w w w w w w w email邮箱 注 本文为转载文章本文实在是不错的 参考博客 http lavasoft blog 51cto com 62575 80
  • 【Jmeter服务器资源监控ServerAgent无法连接】

    问题 通过Jmeter对接口进行压测 需要监控服务器资源 但是发现PerfMon Metrics Collector一直提示ERROR java net ConnectException Connection refused connect
  • 【工作必备技能整理】openpyxl全套教程,提升工作效率【接力pandas】

    大家早上好 本人姓吴 如果觉得文章写得还行的话也可以叫我吴老师 欢迎大家跟我一起走进数据分析的世界 一起学习 感兴趣的朋友可以关注我的数据分析专栏 里面有许多优质的文章跟大家分享哦 openpyxl在我看来 就是用代码代替我们的双手 在EX
  • CocosCreator3.8研究笔记(一)windows环境安装配置

    一 安装Cocos 编辑器 1 下载Cocos Dashboard安装文件 Cocos 官方网站Cocos Dashboard下载地址 https www cocos com creator download9 下载完成后会得到CocosD
  • Git clone fetch-pack unexpected disconnect while reading sideband packet

    在执行 git clone 命令遇到以下错误 remote Enumerating objects 1252 done remote Counting objects 100 1252 1252 done remote Compressin
  • 原来牛客网练习题还能这么做?

    笔者最新更新牛客网练习题 笔者开头感想 如今大部分高校已经开学 当然笔者也不列外 但是由于疫情的原因 笔者被迫在家上网课学习 一脸忧愁 而这恰恰给了笔者自学的机会 相信笔者会加油滴 按照时间的步伐来追寻科班的脚步 C语言练习题集册见 1 牛
  • jsonp跨域,原生js和ajax实现百度,360,必应等浏览器搜索框的智能补全提示技术,带搜索功能的搜索框

    相信许多刚学前端的的同学 都曾对浏览器搜索框自动提示提示的功能挺好奇的 接下让我们一起揭露他的神秘面纱吧 相信学过javascript的同学都引用过外部的JavaScript吧 其实跨域就是动态的创建script标签 将script标签ur
  • Dynamics 365 APP -- 清晰定义你的系统职责范围

    今天我们来看看Dynamics 365 的一个新feature APP 对的 没错是APP 各位小伙伴肯定很诧异 难道Dynamics 365又推出了新版本的APP吗 如果各位这么想的话就中了博主的招了 因为博主故意放了一个烟雾弹 今天要讲
  • Windows下把CUDA程序生成dll库并在项目中调用dll中的函数

    如何把自己写的cuda代码生成dll库 方便集成到其他主项目中去进行调用呢 这里总结了一个基本流程 操作环境 Windows10 visual studio2017 cuda10 2 opencv4 2都已经安装并配置好了 主题1 cuda
  • 西门子PLC内部的数据类型大全

    西门子PLC的数据类型种类繁多 本文进行了收集 并指明了适用范围 长度 供需要进行数据采集和分析的朋友们参考 本表格整理自博图V14 不保证更高级版本不会新增数据类型 请使用中注意 类别 数据类型 长度 位 长度 字节 S7 300 400
  • php 递归面试题_8个PHP数组面试题,php数组试题

    8个PHP数组面试题 php数组试题 网上找的PHP数组题 准备自己做一遍并且记录下来 1 写函数创建长度为10的数组 数组中的元素为递增的奇数 首项为1 复制代码 代码如下 function arrsort first length ar
  • Python 十大装 B 语法【Python干货】

    Python 是一种代表简单思想的语言 其语法相对简单 很容易上手 不过 如果就此小视 Python 语法的精妙和深邃 那就大错特错了 本文精心筛选了最能展现 Python 语法之精妙的十个知识点 并附上详细的实例代码 如能在实战中融会贯通
  • Exception 处理之最佳实践

    作者 Gunjan Doshi 2003 11 19 译者注 本文算是一篇学习笔记 仅供学习参考使用 有不妥之处 还请指出 2003 12 04 本文是Exception处理的一篇不错的文章 从Java Exception的概念介绍起 依次
  • L3 Hive操作

    示例 1 建表 create table t dml detail id bigint sale date date province string city string product id bigint cnt double amt
  • Yarn的安装详解?Yarn的各种系统安装详解

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 如何在不同系统环境中安装Yarn Yarn在各种系统的安装详解 Yarn的安装详细的教程 希望能帮助一些程序袁 工具 原料 电脑 Yarn Windows安装详解 1 可以
  • NJUPT南邮

    设计可用于该实验的进程控制块 进程控制块至少包括进程号 状态和要求服务时间 动态或静态创建多个进程 模拟操作系统四种进程调度算法 先进先出 短作业优先 高优先级优先 高相应比优先中的任意两种 调度所创建的进程并显示调度结果 package
  • matlab2021版关于csv文件读写的一些方法

    首先给出一些演示数据 直接给出来大家看起来都方便 完整代码在最后 有基础的可以直接看代码 下面是data csv的文件内容 可以看得出里面有文本也有数值 代码 名称 最新价 涨跌额 涨跌幅 买入 卖出 昨收 今开 最高 最低 成交量 成交额