ylolo 发表于 2008-7-30 08:52

讀取文本文件的問題

文件格式如:
20080729,CPF,200809   ,10050200,97.93,2,-,-
20080729,CPF,200809   ,10051200,97.93,2,-,-
20080729,CPF,200809   ,10303300,97.93,4,-,-
20080729,CPF,200809   ,10304400,97.93,4,-,-
20080729,CPF,200809   ,10341400,97.92,2,-,-
20080729,CPF,200809   ,10342000,97.92,2,-,-
20080729,CPF,200809   ,11180700,97.92,12,-,-
20080729,CPF,200809   ,11181400,97.92,12,-,-
20080729,EXF,200808   ,08450000,272.6,6,-,-
20080729,EXF,200808   ,08450000,272.6,2,-,-
20080729,EXF,200808   ,08450000,272.6,2,-,-
20080729,EXF,200808   ,08450000,272.6,2,-,-
我要把數據讀入矩陣中,如:20080729 CPF 20080910050200 97 93 2
請問該如何實現呢?

sigma665 发表于 2008-7-30 09:20

回复 楼主 的帖子

查找精华贴里的 txt文件读取技巧

ylolo 发表于 2008-7-30 10:42

我看過了....
可是找不到實現我要的效果的方法啊..
請高手指點下...謝謝

sogooda 发表于 2008-7-30 16:11

一般的数组是不能有'CPF'这种东西的,必须都是数据。
可以考虑采用元胞数组(cell array)。

friendchj 发表于 2008-7-30 17:20

把文本中的', . -'全部换成空格,再用textscan就行了。如:
fid = fopen('12.txt');
ip = textscan(fid, '%s %s %s %s %s %s %s');
a=ip{1};% a为文本内容的第一列
结果:
a =
    '20080729'
    '20080729'
    '20080729'
    '20080729'
    '20080729'
    '20080729'

alljoyland 发表于 2008-7-30 19:47

回复 楼主 的帖子

friendchj的方法很好,
此外下面的语句 结合循环 对你的例子也是很好用的 未完整的描述
fid = fopen('filetest.txt')
str = fgetl(fid)
x = str(1:9)
x = str(1:8)
xx =str2num(x)

alljoyland 发表于 2008-7-30 19:48

原帖由 ylolo 于 2008-7-30 08:52 发表 http://www.chinavib.com/forum/images/common/back.gif
文件格式如:
20080729,CPF,200809   ,10050200,97.93,2,-,-
20080729,CPF,200809   ,10051200,97.93,2,-,-
20080729,CPF,200809   ,10303300,97.93,4,-,-
20080729,CPF,200809   ,10304400,97.93,4,-,-
...
此外你的原问题是 不可以实现的,因为要求矩阵里面又有数字 又有 字符 ,非cell不可以 ,

按二楼的说法也是可以的 就看你对cell的熟悉了
页: [1]
查看完整版本: 讀取文本文件的問題