## csv数据读取+转置归一化+写入

目的
在这里插入图片描述每个excel有几十万条数据,要求是每一列做一个归一化,手动肯定是不得行的,所以MATLAB上线

代码长这个亚子
下面展示一些 内联代码片

filename = 'aum_m7.csv';
M = xlsread(filename);
[a,b]=size(M)   %返回矩阵行a列b
Z=zeros(a,b);
for i = 1:b
    B=M(:,i)';    %取列,转置
    M1=mapminmax(B,0,1);    %0-1归一化
    Z(:,i)=M1';    %转回去x
end
Z
sheet=3;
xlswrite('aum_m7.csv',Z,sheet)

tips
1.csv的后缀文件用xlsread不用csvread是基操
2.mapminmax默认是对一行进行归一化,所以需要转置
3.xlswrite!!!!!!!传统美德!!!!贼恶心

xlswrite
最开始会报错
在这里插入图片描述
我把百度来的方法都试过了,就离谱!!!!
csvwrite/writetable/writematrix更不行
离谱!!!!!!!!
解决方法是(点添加连接描述直接跳转)
添加链接描述

(我是wps和office都有,且默认为wps)
wps加载项行不通。
excel右键,属性,打开方式那里选更改,选择Microsoft excel。
然后打开excel,选择“文件”,选项,加载项,“管理”那里选择com加载项(默认为excel加载项),转到,可用加载项全勾上,确定,关闭所有excel,包括word(我第一次只关了所有的excel没成功,第二次关了word之类的成功了),重启matlab再次运行
就!可!以!了!ohhhhhhhhhhhh!!!!!!!!!!
一个下午+晚上就几行代码,离谱

后续
我又又来了,隔了一天再运行代码,开了个小的csv想看看结果,发现xlsread读不出csv
在这里插入图片描述已解决,因为relll我是xls格式,另存为csv后完全欧克,跑出来的结果没有任何问题,但是我想写在sheet3的想法失败了,如果是xlswrite(‘relll’,Z)会另存为xlsx文件,如果是xlswrite(‘relll.csv’,Z)会直接覆盖原来的数据

换成前天一模一样的代码
在这里插入图片描述啊,我佛了,我再试试
解决了,最后一句xlswrite(aum_m7.xlsx,Z)即可,会另存为xlsx

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值