ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Jaroslav Hajtmar <hajtmar@gyza.cz>
To: ntg-context@ntg.nl
Subject: Re: expand date from CSV file
Date: Thu, 18 Dec 2014 09:39:23 +0100	[thread overview]
Message-ID: <549292BB.3090402@gyza.cz> (raw)
In-Reply-To: <5491F394.5080406@gmx.es>

Hi Pablo

Here is a quick solution. However, it not treat the incorrect input 
data, ie it requires, however, correct input, otherwise it will collapse ...

Jaroslav Hajtmar



\usemodule[scancsv]

\def\ddmmyyyy#1#2#3{% #1 - date, #2 - old separator, #3 - new separator
\startlua
     parsedate=thirddata.scancsv.ParseCSVLine('#1','#2');
     day=tonumber(parsedate[1]);
     month=tonumber(parsedate[2]);
     year=tonumber(parsedate[3]);
     if (year<2000) then year=year+2000 end;
     tex.print(day..'#3'..month..'#3'..year);
\stoplua
}

\unexpanded\def\lineaction{
     \Name\ arrived on \ddmmyyyy{\Date}{/}{.} \\
}


%     Name;Date
%     ME;11/10/14
%     You;05/02/14
%     He;15/02/2014
%     She;03/03/12
%     It;03/03/14

\setheader
  \setsep{;}
  \setfiletoscan{mail.csv}

\starttext
    \filelineaction
\stoptext





Dne 17.12.2014 22:20, Pablo Rodriguez napsal(a):
> Dear list,
>
> I have the following sample:
>
>      \usemodule[scancsv]
>
>      \unexpanded\def\lineaction{
>      \Name\ arrived on \Date\\
>      }
>
>      \setheader
>      \setsep{;}
>      \setfiletoscan{mail.csv}
>
>      \starttext
>          \filelineaction
>      \stoptext
>
> that reads data from mail.csv:
>
>      Name;Date
>      ME;11/10/14
>      You;05/02/14
>      He;15/02/2014
>      She;03/03/12
>      It;03/03/14
>
> My question is simple (and not related to CSV data import): how can I
> define a command (ConTeXt or Lua) that changes date format from DD/MM/YY
> to DD/MM/YYYY when required?
>
> Many thanks for your help,
>
>
> Pablo

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2014-12-18  8:39 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-17 21:20 Pablo Rodriguez
2014-12-18  8:39 ` Jaroslav Hajtmar [this message]
2014-12-18 12:24   ` Jaroslav Hajtmar
2014-12-18 12:37     ` Peter Münster
2014-12-18 18:09       ` Pablo Rodriguez
2014-12-20  6:40       ` Jaroslav Hajtmar
2014-12-18 18:07     ` Pablo Rodriguez
2014-12-19  2:07       ` Jaroslav Hajtmar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=549292BB.3090402@gyza.cz \
    --to=hajtmar@gyza.cz \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).