|
◆ csv_record_init()
subroutine csv_record_init |
( |
type(csv_record), intent(inout) |
this, |
|
|
character(len=*), intent(in), optional |
record, |
|
|
character(len=1), intent(in), optional |
csep, |
|
|
character(len=1), intent(in), optional |
cquote, |
|
|
integer, intent(out), optional |
nfield |
|
) |
| |
Initialise a csv_record object.
If the record is provided in input, the object is used for decoding a record read from a file (csv_record_getfield methods), if record is not provided, then the object will be used for coding a csv record (csv_record_addfield methods), for the successive write on file. It is possible to specify nonstandard characters for delimiting and grouping fields, default comma (,) and double quote ("). In case of decoding, it is possible to obtain in output the number of fields in the record, but this will take extra computing time. As an alternative, the csv_record_end method can be used when extracting each field. Warning: the csv_record class does not handle csv records that extend on different lines. - Parametri
-
[in,out] | this | object to be initialised |
[in] | record | csv record to be interpreted, if not provided, it means we want to code a csv record for output |
[in] | csep | field separator character, default , (comma) |
[in] | cquote | field grouping character, default " (double quote); it is usually used when a field contains comma or blanks |
[out] | nfield | number of fields in the record |
Definizione alla linea 497 del file file_utilities.F90.
498 IF ( PRESENT(form)) THEN
499 CALL csv_record_addfield(this, trim(to_char(field, form)), force_quote=force_quote)
501 CALL csv_record_addfield(this, t2c(field), force_quote=force_quote)
504 END SUBROUTINE csv_record_addfield_real
510 SUBROUTINE csv_record_addfield_real_miss(this, field, force_quote)
511 TYPE(csv_record), INTENT(INOUT) :: this
512 REAL, INTENT(IN) :: field
513 LOGICAL, INTENT(in), OPTIONAL :: force_quote
515 CALL csv_record_addfield(this, t2c(field, ''), force_quote=force_quote)
517 END SUBROUTINE csv_record_addfield_real_miss
522 SUBROUTINE csv_record_addfield_double(this, field, form, force_quote)
523 TYPE(csv_record), INTENT(INOUT) :: this
524 DOUBLE PRECISION, INTENT(IN) :: field
525 CHARACTER(len=*), INTENT(in), OPTIONAL :: form
526 LOGICAL, INTENT(in), OPTIONAL :: force_quote
528 IF ( PRESENT(form)) THEN
529 CALL csv_record_addfield(this, trim(to_char(field, form)), force_quote=force_quote)
531 CALL csv_record_addfield(this, t2c(field), force_quote=force_quote)
534 END SUBROUTINE csv_record_addfield_double
|