描述:
用字符串中读出的内容作为记录返回成序表。
语法:
S.import(Fi:type;fmt,…;s)
备注:
用字符串S中读出的内容作为记录,最终返回成序表。
参数:
| 
   S  | 
  
   字符串。字符串的格式:记录间用换行符隔开,字段间用自选分隔符隔开,缺省为tab键隔开。  | 
 
| 
   Fi  | 
  
   读出的字段,缺省读出所有。  | 
 
| 
   type  | 
  
   字段类型,包括:bool、int、long、float、decimal、number、string、date、time和datetime,缺省使用第一行数据类型。type为整数时表示排号键,排号数据目前只允许使用16个字节。  | 
 
| 
   fmt  | 
  
   日期时间格式。  | 
 
| 
   s  | 
  
   自选分隔符,缺省默认分隔符是tab。  | 
 
选项:
| 
   @t  | 
  
   f中第一行记录作为字段名,不使用本选项则使用_1,_2,…作为字段名。  | 
 
| 
   @c  | 
  
   s缺省时用逗号分隔。  | 
 
| 
   @s  | 
  
   不拆分字段,读成单字段串构成的序表,忽略参数。  | 
 
| 
   @i  | 
  
   结果集只有1列时返回成序列。  | 
 
| 
   @q  | 
  
   剥离数据项两端引号,包括标题,处理转义;中间的引号不作处理。  | 
 
| 
   @a  | 
  
   将单引号作为引号处理,缺省不处理,可与@q@p组合使用。  | 
 
| 
   @o  | 
  
   使用Excel标准转义,串中双个引号表示一个引号,其它字符不转义。  | 
 
| 
   @p  | 
  
   解析时处理括号和引号匹配,括号内分隔符不算,同时引号外转义也处理。  | 
 
| 
   @f  | 
  
   不做任何解析,简单用分隔符拆成串。  | 
 
| 
   @l  | 
  
   允许续行,行尾是转义字符\。  | 
 
| 
   @k  | 
  
   保留数据项两端的空白符,缺省将自动删除两端空白符。  | 
 
| 
   @e  | 
  
   Fi在串中不存在时将生成null,缺省将报错。  | 
 
| 
   @d  | 
  
   行内有数据不匹配类型和格式时删除该行,此时会按type检查类型;@p@q时括号和引号不匹配时也删除该行。  | 
 
| 
   @n  | 
  
   行内的列数不匹配算时忽略此行。  | 
 
| 
   @v  | 
  
   与@d或@n联合使用,出现不匹配时抛出违例,并且中断程序,输出出错行的内容。  | 
 
| 
   @w  | 
  
   将每行读成序列,返回序列的序列,列名也算作一行。  | 
 
| 
   @r  | 
  
   先读成串再解析,避免某些字符集的错误,使用该选项速度会慢。  | 
 
返回值:
序表
| 
   
  | 
  
   A  | 
  
   
  | 
 
| 
   1  | 
  
   =demo.query("select * from EMPLOYEE")  | 
  
   
  | 
 
| 
   2  | 
  
   =A1.(~.array().concat@c())  | 
  
   转换为字串序列: 
  | 
 
| 
   3  | 
  
   =A2(1).import(;",")  | 
  
   选取序列中的一个字串,从字串中选出所有字段,并指定分隔符为逗号,最后返回结果为序表: 
  | 
 
| 
   4  | 
  
   =demo.query("select EID,NAME,SURNAME from EMPLOYEE")  | 
  
   
  | 
 
| 
   5  | 
  
   = A4.export()  | 
  
   
  | 
 
| 
   6  | 
  
   = A4.export@t(EID:id,NAME:name,SURNAME:surname;"|")  | 
  
   
  | 
 
| 
   7  | 
  
   =A5.import()  | 
  
   无参数,缺省分隔符为tab,用_1,_2,…作为字段名: 
  | 
 
| 
   8  | 
  
   =A6.import@t(id:int,name;"|")  | 
  
   选出id和name字段,分隔符为“|” : 
  | 
 
| 
   9  | 
  
   =A6.import@f()  | 
  
   使用@f选项,直接用分隔符拆成串: 
  | 
 
| 
   10  | 
  
   1,2,"3,3",(4,4),[5,5],'6,6'  | 
  
   
  | 
 
| 
   11  | 
  
   =A10.import@c()  | 
  
   使用@c选项,分隔符缺省使用逗号: 
  | 
 
| 
   12  | 
  
   =A10.import@cp()  | 
  
   使用@p选项,解析时处理括号和引号匹配: 
  | 
 
| 
   13  | 
  
   =A10.import@cpa()  | 
  
   使用@a选项,将单引号作为引号处理: 
  | 
 
| 
   14  | 
  
   =A2(1).import@c()  | 
  
   使用@c选项,分隔符缺省使用逗号: 
  | 
 
| 
   15  | 
  
   =A5.import@s()  | 
  
   使用@s选项,不拆分字段,读成单字段串构成的序表: 
  | 
 
| 
   16  | 
  
   =A5.import@si()  | 
  
   结果集只有1列时返回成序列: 
  | 
 
| 
   17  | 
  
   "uy'd'uj"  | 
  
   
  | 
 
| 
   18  | 
  
   =A17.import()  | 
  
   
  | 
 
| 
   19  | 
  
   =A17.import@q()  | 
  
   使用@q先剥离两端的引号后再转为序表,中间的引号不作处理: 
  | 
 
| 
   20  | 
  
   f1,f2,f3 2,"dd""ff",3  | 
  
   
  | 
 
| 
   21  | 
  
   =A20.import@coq()  | 
  
   使用@o选项,串中两个引号表示一个引号: 
  | 
 
| 
   22  | 
  
   =" abc ".import@k()  | 
  
   保留两端的空白符。  | 
 
| 
   23  | 
  
   =A6.import@te(id:int,name,dept;"|")  | 
  
   dept在串中不存在时生成null: 
  | 
 
| 
   24  | 
  
   id|name|surname a|Rebecca|Moore 2|Ashley|Wilson 3|Rachel|Johnson 4|Emily|Smith 5|Ashley|Smith 6|Matthew|Johnson 7|Alexis|Smith 8|Megan|Wilson  | 
  
   
  | 
 
| 
   25  | 
  
   =A24.import@td(id:int,name;"|")  | 
  
   行内有数据不匹配类型,则删除该行: 
  | 
 
| 
   26  | 
  
   =A24.import@tvd(id:int,name;"|")  | 
  
   检查类型匹配且出错时抛出违例,中断程序,输出出错行的内容,此处报错信息: Error in cell A26。  | 
 
| 
   27  | 
  
   id|name|surname 1|Rebecca|Moore 2|Ashley 3|Rachel|Johnson 4|Emily  | 
  
   
  | 
 
| 
   28  | 
  
   =A27.import@tdn(id:int,name,surname;"|")  | 
  
   第2、3行内数据列数与序表不匹配,故忽略这两行: 
  | 
 
| 
   29  | 
  
   =A24.import@w(;"|")  | 
  
   使用@w选项,将行读成序列的序列: 
  | 
 
| 
   30  | 
  
   11,22,"3",\ 33,44,55, 66,77,88  | 
  
   
  | 
 
| 
   31  | 
  
   =A30.import@l()  | 
  
   使用@l选项,行尾为转义符\时允许续行: 
  | 
 
相关概念: