S .import()

Description:

Retrieve contents from strings as records and return them as a table sequence.

Syntax:

S.import(Fi:type;fmt,…;s)

Note:  

The function retrieves specified or all fields from string S and returns them as a table sequence.

Parameters:

S

A string. Format: separate the records by line break, and the fields by user-defined separator; the default separator is tab.

Fi

Fields to be retrieved; by default, all fields will be retrieved.

type

Field types include bool, int, long, float, decimal, number, string, date, time and datetime; data type of the first row will be used by default. It is the length of a serial byte when it is an integer.

fmt

Date\time format

s

User-defined separator; the default is tab.

Options:  

@t

Take the first row in f as the field name. If not using this option, then use _1, and _2,… as the field name.

@c

Use comma as the separator when the parameter s is absent, but the user-defined separator s should take priority when there are both s and @c option.

@s

Won’t split strings and data will be imported as a table sequence consisting of strings of single field values; ignor the parameters

@i

Return the result set as a sequence if it only contains one field

@q

Remove the quotation marks, if any, from both ends of each data item, including those in the field names and handle the escape sequences; quotation marks not located at the ends are left alone

@a

Treat single quotes as quotes, including scenarios where the option cooperates with @q option; single quotes are left not handled when both options are absent

@o

 Perfrom escaping according to the Excel rule, which identifies two double quotation marks as one and does not escape the other characters

@p

Enable handling the matching of parentheses (not including the separators within the parentheses) and quotes, as well as the the escape sequences outside of the quotes

@f

Split the file content into a string by the separator without parsing

@l

Allow line continuation and put an escape character \ at the end the line

@k

Retain the whitespaces on both sides of the data item; without it a trim operation will be automatically performed

@e

Generate null if parameter Fi isn’t included in the imported strings; by default there will be an error report

@d

Delete a record if it contains unmatching data types or data formats and start examining data by type, or if the parentheses and the quotation marks in it do not match when @p option and @q option respectively are present

@n

Ignore a row whose number of columns don’t match the first row

@v

 

 

 

@w

In corporation with @d or @n, if a mismatch appears, throw an exception, terminate the execution and output the content of the problem record;

Read each row, including the column headers row, as a sequence and return a sequence of sequences

Return value:  

Table sequence

Example:  

 

A

 

1

=demo.query("select * from EMPLOYEE")

 

2

=A1.(~.array().concat@c())

Convert to the sequence of strings.

 

 

3

=A2(1).import(;",")

Select all fields from a specified string in the sequence. Specify comma as the separator, and return a table sequence as the result

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()

No parameters are given. The default separator will be tab, and _1 and _2,… will be used as field names

8

=A6.import@t(id:int,name;"|")

Select fields id and name, separated by “|”

9

=A6.import@f()

With @f option, just split the file as a string using the separator

 

10

1,2,"3,3",(4,4),[5,5],'6,6'

 

11

=A10.import@c()

With @c option, the default separator is the comma

12

=A10.import@cp()

With @p option, parentheses and quotation marks matching will be handled during parsing

13

=A10.import@cpa()

With @a option, single quotation marks are treated as quotation marks

 

14

=A2(1).import@c()

With @c option, use default separator commma

15

=A5.import@s()

 

With @s option, won’t split strings and records are imported as a single-field table sequence

16

=A5.import@si()

 

A single-field result set will be returned as a sequence

17

"uy'd'uj"

 

18

=A17.import()

 

19

=A17.import@q()

 

With @q option, double quotations will be removed before generating the final table sequence With @q option, first remove quotation marks at both ends of each data item (not handling those within) and then convert data into a table sequecne

20

f1,f2,f3

2,"dd""ff",3

 

21

=A20.import@coq()

With @o option, two double quotation marks in one string are treated as one

 

 

22

=" abc ".import@k()

Retain the whitespaces on boths sides

23

=A6.import@te(id:int,name,dept;"|")

Generate null since dept doesn’t exist in the imported strings

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;"|")

Delete the record as it contains unmatching data types

26

=A24.import@tv(id:int,name;"|")

Check data type matching, and, if error reports, throw an exception, terminate the execution and output the content of the problem record; the error message is: 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;"|")

Ignore row 2 and row 3 because the number of columns don’t match that of the table sequence

29

=A24.import@w(;"|")

Use @w option to read each row as sequecne of sequences

30

11,22,"3",\

33,44,55,

66,77,88

 

31

=A30.import@l()

With @1 option, allow line continuation when there is an escape character at the end of the line

Related functions:

f.export()

f.import()

A.export()