matlab如何读取含有字母、汉字和数字的excel文件?
(2013-04-20 21:19:27)
标签:
期权期货经济金融matlab财经 |
分类: 工作笔记 |
如题。当然,读完之后,在matlab中至少还要能正确显示这些字母、汉字和数字。
比方说,将该excel文件读完之后(假如读到矩阵a中去了),在matlab的命令窗口输入 a(12,10)并回车,matlab应该能马上正确显示读入的excel表格中第12行第10列的数据,不论它是字母、汉字或者数字。
我知道在matlab中读取excel文件是使用xlsread函数,但是如果excel文件中含有汉字,会显示这样的信息“Skipping Unicode formatted string.”,如果excel文件中含有字母,会显示这样的信息“Skipping 16 bytes of extended strings.”,再就是日期虽然能读取,但是在matlab中显示方式变了(用过的同志应该知道这一点),我希望不论是哪一列的数据都能在matlab中原样显示。所以希望知道的同志说详细点。谢谢!
如果把每一列的数据都当成是字符处理,也许问题就解决了,但是具体怎么操作?也麻烦说详细点。
比方说有下面的excel数据,如何正确读取到matlab中?(暂不用考虑数据本身有没有错,要考虑的是如何正确读取数据并能在matlab命令窗口原样显示)
解答:
假设你用的是Excel 2003
>> [x,y,rawdata] = xlsread('YourExcel.xls');
这里的rawdata(数据类型:cell array)可以满足你
获取1,3位置的数据,调用格式:rawdata{1,3},注意是大括号。
比方说,将该excel文件读完之后(假如读到矩阵a中去了),在matlab的命令窗口输入 a(12,10)并回车,matlab应该能马上正确显示读入的excel表格中第12行第10列的数据,不论它是字母、汉字或者数字。
我知道在matlab中读取excel文件是使用xlsread函数,但是如果excel文件中含有汉字,会显示这样的信息“Skipping Unicode formatted string.”,如果excel文件中含有字母,会显示这样的信息“Skipping 16 bytes of extended strings.”,再就是日期虽然能读取,但是在matlab中显示方式变了(用过的同志应该知道这一点),我希望不论是哪一列的数据都能在matlab中原样显示。所以希望知道的同志说详细点。谢谢!
如果把每一列的数据都当成是字符处理,也许问题就解决了,但是具体怎么操作?也麻烦说详细点。
比方说有下面的excel数据,如何正确读取到matlab中?(暂不用考虑数据本身有没有错,要考虑的是如何正确读取数据并能在matlab命令窗口原样显示)
| 060105021112 | 420703198808096000 | 1988-08-09 | 熊露 | a |
| 070102011105 | 420325198901110000 | 1988-01-09 | 付远明 | b |
| 070102011106 | 430725198701062000 | 1987-01-06 | 龚浩 | c |
| 070102011109 | 420105198902050000 | 1988-01-10 | 胡越 | b |
| 070102011131 | 420106198712104000 | 1987-12-10 | 张诚 | c |
| 070102021112 | 360429198912160000 | 1988-01-09 | 李佳良 | d |
| 070102021121 | 420923198808200000 | 1988-08-20 | 王斯 | a |
| 070102021128 | 421182198801113000 | 1988-01-11 | 张露 | c |
| 070103021104 | 420104198902132000 | 1988-01-09 | 陈泳吉 | d |
| 070103021105 | 420107198812121000 | 1988-12-12 | 成昕 | b |
| 070103021111 | 420704198703251000 | 1987-03-25 | 冯睿 | b |
| 070103021114 | 42010519881109041X | 1988-11-09 | 胡成龙 | a |
| 070103021118 | 42070419880323001X | 1988-03-23 | 梁彤 | c |
| 070103021122 | 420881198910070000 | 1988-01-10 | 罗钧琨 | a |
| 070103021131 | 640202198711170000 | 1987-11-17 | 徐宁强 | a |
| 070103021134 | 420107198801061000 | 1988-01-06 | 张翔 | b |
| 070104011113 | 420902198906246000 | 1988-01-10 | 彭力 | c |
| 070104011122 | 360121198911060000 | 1988-01-09 | 余雷 | a |
解答:
假设你用的是Excel 2003
>> [x,y,rawdata] = xlsread('YourExcel.xls');
这里的rawdata(数据类型:cell array)可以满足你
获取1,3位置的数据,调用格式:rawdata{1,3},注意是大括号。
前一篇:[转载]CPI对股市的影响

加载中…