首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

matlab-textread指定独自输出变量的文件读入

2012-12-25 
matlab-textread指定单独输出变量的文件读入text1.txt内容如下:  货币资金,6865234.00 ,  短期借款,120000

matlab-textread指定单独输出变量的文件读入

text1.txt内容如下:

  货币资金,6865234.00 ,  短期借款,120000.00
  应收票据,72120.00 ,??? 应付票据,85500.00
  应收账款,38050.00 ,  应付账款,80200.00
??? 减:坏账准备,,  预收账款,
??? 应收账款净额,38050.00 ,  应付工资,
  其他应收款,,  应付福利费,8430.00
  预付账款,26600.00 ,  应交税金,24420.00
  存 货,281950.00 ,  应付股利,34000.00
  待摊费用,100.00 ,  其他应付款,
  流动资产合计,7284054.00 ,  预提费用,1600.00
>> help textread
?TEXTREAD Read formatted data from text file.
???? A = TEXTREAD('FILENAME')
???? A = TEXTREAD('FILENAME','',N)
???? A = TEXTREAD('FILENAME','',param,value, ...)
???? A = TEXTREAD('FILENAME','',N,param,value, ...) reads numeric data from
???? the file FILENAME into a single variable.? If the file contains any
???? text data, an error is produced.
?
???? [A,B,C, ...] = TEXTREAD('FILENAME','FORMAT')
???? [A,B,C, ...] = TEXTREAD('FILENAME','FORMAT',N)
???? [A,B,C, ...] = TEXTREAD('FILENAME','FORMAT',param,value, ...)
???? [A,B,C, ...] = TEXTREAD('FILENAME','FORMAT',N,param,value, ...) reads
???? data from the file FILENAME into the variables A,B,C,etc.? The type of
???? each return argument is given by the FORMAT string.? The number of
???? return arguments must match the number of conversion specifiers in the
???? FORMAT string.? If there are fewer fields in the file than in the
???? format string, an error is produced.? See FORMAT STRINGS below for
???? more information.
?
???? If N is specified, the format string is reused N times.? If N is -1 (or
???? not specified) TEXTREAD reads the entire file.
?
???? If param,value pairs are supplied, user configurable options customize
???? the behavior of TEXTREAD.? See USER CONFIGURABLE OPTIONS below.
?
???? TEXTREAD works by matching and converting groups of characters from the
???? file. An input field is defined as a string of non-whitespace
???? characters extending to the next whitespace or delimiter character
???? or until the field width is exhausted.? Repeated delimiter characters
???? are significant while repeated whitespace characters are treated as
???? one.
?
???? FORMAT STRINGS
?
???? If the FORMAT string is empty, TEXTREAD will only numeric data.
?
???? The FORMAT string can contain whitespace characters (which are
???? ignored), ordinary characters (which are expected to match the next
???? non-whitespace character in the input), or conversion specifications.
?
???? Supported conversion specifications:
???????? %n - read a number - float or integer (returns double array)
????????????? %5n reads up to 5 digits or until next delimiter
???????? %d - read a signed integer value (returns double array)
????????????? %5d reads up to 5 digits or until next delimiter
???????? %u - read an integer value (returns double array)
????????????? %5u reads up to 5 digits or until next delimiter
???????? %f - read a floating point value (returns double array)
????????????? %5f reads up to 5 digits or until next delimiter
???????? %s - read a whitespace separated string (returns cellstr)
????????????? %5s reads up to 5 characters or until whitespace
???????? %q - read a double-quoted string, ignoring the quotes (returns cellstr)
????????????? %5q reads up to 5 non-quote characters or until whitespace
???????? %c - read character or whitespace (returns char array)
????????????? %5c reads up to 5 characters including whitespace
???????? %[...]? - reads characters matching characters between the
?????????????????? brackets until first non-matching character or
?????????????????? whitespace (returns cellstr)
?????????????????? use %[]...] to include ]
????????????? %5[...] reads up to 5 characters
???????? %[^...] - reads characters not matching characters between the
?????????????????? brackets until first matching character or whitespace
?????????????????? (returns cellstr)
?????????????????? use %[^]...] to exclude ]
????????????? %5[^...] reads up to 5 characters
?
???? Note: Format strings are interpreted as with sprintf before parsing.
???? For example, textread('mydata.dat','%s\t') will search for a tab not
???? the character '\' followed by the character 't'.? See the Language
???? Reference Guide or a C manual for complete details.
?
???? Using %* instead of % in a conversion causes TEXTREAD to skip the
???? matching characters in the input (and no output is created for this
???? conversion).
?
???? The % can be followed by an optional field width to handle fixed
???? width fields. For example %5d reads a 5 digit integer. In
???? addition the %f format supports the form %<width>.<prec>f.
?
???? USER CONFIGURABLE OPTIONS
?
???? Possible param/value options are:
????????? 'bufsize'????? - maximum string length in bytes (default is 4095)
????????? 'commentstyle' - one of
?????????????? 'matlab'? -- characters after % are ignored
?????????????? 'shell'?? -- characters after # are ignored
?????????????? 'c'?????? -- characters between /* and */ are ignored
?????????????? 'c++'??? -- characters after // are ignored
????????? 'delimiter'??? - delimiter characters (default is none)
????????? 'emptyvalue'?? - empty cell value in delimited files (default is 0)
????????? 'endofline'??? - end of line character (default determined from file)
????????? 'expchars'???? - exponent characters (default is 'eEdD')
????????? 'headerlines'? - number of lines at beginning of file to skip
????????? 'whitespace'?? - whitespace characters (default is ' \b\t')
????
???? TEXTREAD is useful for reading text files with a known format.? Both
???? fixed and free format files can be handled.
?
???? Examples:
????? Suppose the text file mydata.dat contains data in the following form:
???????? Sally??? Type1 12.34 45 Yes
???????? Joe????? Type2 23.54 60 No
???????? Bill???? Type1 34.90 12 No
??????????
????? Read each column into a variable
??????? [names,types,x,y,answer] = textread('mydata.dat','%s%s%f%d%s');
?
????? Read first column into a cell array (skipping rest of line)
??????? [names]=textread('mydata.dat','%s%*[^\n]')
?
????? Read first character into char array (skipping rest of line)
??????? [initials]=textread('mydata.dat','%c%*[^\n]')
?
????? Read file as a fixed format file while skipping the doubles
??????? [names,types,y,answer] = textread('mydata.dat','%9c%5s%*f%2d%3s');
?
????? Read file and match Type literal
??????? [names,typenum,x,y,answer]=textread('mydata.dat','%sType%d%f%d%s');
?
????? Read m-file into cell array of strings
??????? file = textread('fft.m','%s','delimiter','\n','whitespace','');
?
????? To read all numeric data from a delimited text file, use a single output
????? argument, empty format string, and the appropriate delimiter. For
????? example, suppose data.csv contains:
??????? 1,2,3,4
??????? 5,6,7,8
??????? 9,10,11,12
?
????? Read the whole matrix into a single variable:
??????? [data] = textread('data.csv','','delimiter',',');
?
????? Read the first two columns into two variables:
??????? [col1, col2] = textread('data.csv','%n%n%*[^\n]','delimiter',',');
?
????? For files with empty cells, use the emptyvalue parameter.? Suppose
????? data.csv contains:
??????? 1,2,3,4,,6
??????? 7,8,9,,11,12
?
????? Read the file like this, using NaN in empty cells:
??????? [data] = textread('data.csv','','delimiter',',','emptyvalue',NaN);
?
??? The TEXTSCAN function is intended as a replacement for both STRREAD and
??? TEXTREAD.

?

?

?>> [name1,value1,name2,value2]=textread('e:\test1.txt','%s %f %s %f','delimiter',',')

name1 =

??? '  货币资金'
??? '  应收票据'
??? '  应收账款'
??? '减:坏账准备'
??? '应收账款净额'
??? '  其他应收款'
??? '  预付账款'
??? '  存 货'
??? '  待摊费用'
??? '  流动资产合计'


value1 =

???? 6865234
?????? 72120
?????? 38050
?????????? 0
?????? 38050
?????????? 0
?????? 26600
????? 281950
???????? 100
???? 7284054


name2 =

??? '  短期借款'
??? '应付票据'
??? '  应付账款'
??? '  预收账款'
??? '  应付工资'
??? '  应付福利费'
??? '  应交税金'
??? '  应付股利'
??? '  其他应付款'
??? '  预提费用'


value2 =

????? 120000
?????? 85500
?????? 80200
?????????? 0
?????????? 0
??????? 8430
?????? 24420
?????? 34000
?????????? 0
??????? 1600

>>

读取第一行

>> [name1,value1,name2,value2]=textread('e:\test1.txt','%s %f %s %f',1,'delimiter',',')

name1 =

??? '  货币资金'


value1 =

???? 6865234


name2 =

??? '  短期借款'


value2 =

????? 120000

>>

?

前2行

>> [name1,value1,name2,value2]=textread('e:\test1.txt','%s %f %s %f',2,'delimiter',',')

name1 =

??? '  货币资金'
??? '  应收票据'


value1 =

???? 6865234
?????? 72120


name2 =

??? '  短期借款'
??? '应付票据'


value2 =

????? 120000
?????? 85500

>>

?

热点排行