Re: [NTG-context] expand date from CSV file

2014-12-19 Thread Jaroslav Hajtmar

;-)
Thanx Peter. I'm too not thought about solutions :-).
I was so focused to mined data from a CSV file, and I've not think much 
about the appropriate algorithm.

I love attentive and thoughtful people (although often I'm not alone such)
Maybe I corrected in a subsequent e-mail properly.
One more thanx.

Jaroslav Hajtmar


Dne 18.12.2014 v 13:37 Peter Münster napsal(a):

On Thu, Dec 18 2014, Jaroslav Hajtmar wrote:


 if (year2000) then year=year+2000 end;

Hi,

What about Test;11/11/1999 ... ;-)



___
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
___

Re: [NTG-context] expand date from CSV file

2014-12-18 Thread Jaroslav Hajtmar

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\ddmm#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 (year2000) then year=year+2000 end;
tex.print(day..'#3'..month..'#3'..year);
\stoplua
}

\unexpanded\def\lineaction{
\Name\ arrived on \ddmm{\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/ 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
___

Re: [NTG-context] expand date from CSV file

2014-12-18 Thread Jaroslav Hajtmar

Hi Pablo,
I am sending still slightly modified version (use local variables and 
better typographic output).
It use of much variables, but at least it is clear how it works. For 
solution occurred me to use parsing function that I have been defined in 
the library, so that it can be successfully used.


Sincerely
Jaroslav Hajtmar



\usemodule[scancsv]

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

\unexpanded\def\lineaction{
\Name\ arrived on \ddmm{\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 18.12.2014 9:39, Jaroslav Hajtmar napsal(a):

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\ddmm#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 (year2000) then year=year+2000 end;
tex.print(day..'#3'..month..'#3'..year);
\stoplua
}

\unexpanded\def\lineaction{
\Name\ arrived on \ddmm{\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/ 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
___


___
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
___

Re: [NTG-context] expand date from CSV file

2014-12-18 Thread Peter Münster
On Thu, Dec 18 2014, Jaroslav Hajtmar wrote:

 if (year2000) then year=year+2000 end;

Hi,

What about Test;11/11/1999 ... ;-)

-- 
   Peter
___
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
___

Re: [NTG-context] expand date from CSV file

2014-12-18 Thread Pablo Rodriguez
On 12/18/2014 01:24 PM, Jaroslav Hajtmar wrote:
 Hi Pablo,
 I am sending still slightly modified version (use local variables and 
 better typographic output).
 It use of much variables, but at least it is clear how it works. For 
 solution occurred me to use parsing function that I have been defined in 
 the library, so that it can be successfully used.

Many thanks for your reply, Jaroslav.

This is exactly what I need.

Many thanks for your help,

Pablo


 \usemodule[scancsv]
 
 \def\ddmm#1#2#3{% #1 - date, #2 - old separator, #3 - new separator
 \startlua
  local parsedate=thirddata.scancsv.ParseCSVLine('#1','#2');
  local day=tonumber(parsedate[1]);
  local month=tonumber(parsedate[2]);
  local year=tonumber(parsedate[3]);
  if (year2000) then year=year+2000 end;
  tex.print(day..'#3'..month..'#3'..year);
 \stoplua
 }
 
 \unexpanded\def\lineaction{
  \Name\ arrived on \ddmm{\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 18.12.2014 9:39, Jaroslav Hajtmar napsal(a):
 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\ddmm#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 (year2000) then year=year+2000 end;
 tex.print(day..'#3'..month..'#3'..year);
 \stoplua
 }

 \unexpanded\def\lineaction{
 \Name\ arrived on \ddmm{\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/ when required?

 Many thanks for your help,


 Pablo


-- 
http://www.ousia.tk
___
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
___

Re: [NTG-context] expand date from CSV file

2014-12-18 Thread Pablo Rodriguez
On 12/18/2014 01:37 PM, Peter Münster wrote:
 On Thu, Dec 18 2014, Jaroslav Hajtmar wrote:
 
 if (year2000) then year=year+2000 end;
 
 Hi,
 
 What about Test;11/11/1999 ... ;-)

Hi Peter,

all dates start from this year :-).


Pablo
-- 
http://www.ousia.tk
___
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
___

Re: [NTG-context] expand date from CSV file

2014-12-18 Thread Jaroslav Hajtmar

Hi Pablo.
Peter pointed out an error in my solution. Thanks Peter! His message but 
pointed out that in fact is not the task as simple as it seems at first 
glance. In fact, a lot depends on what target group for those you solve 
a problem resp. whether e.g. date of birth of persons. What does it mean 
03/01/00? It means 1/3/1900? Or does it mean 01/03/2000? Particular job 
you have to deal specifically separately. It occurred to me yet 
following solution that respects the current year as the year when he 
could anyone born. E.g. 19/12/14 means a newborn soul (ie. In fact, 
12/19/2014), while 01/02/15 mean old man ie. in fact 01/02/1915. For the 
specific case you have to modify or create the solution separately.


Greetings
Jaroslav Hajtmar

Here is new minimal example:

\usemodule[scancsv]

\def\ddmm#1#2#3{% #1 - date, #2 - old separator, #3 - new separator
\startlua
local parsedate=thirddata.scancsv.ParseCSVLine('#1','#2');
local day=tonumber(parsedate[1]);
local month=tonumber(parsedate[2]);
local year=tonumber(parsedate[3]);
if (year100) then % when is only two digits year format then
if year=14 then % it is very young person
year=year+2000
else % this person has more than one hundred years
year=year+1900;
end;
end;
tex.print(day..'#3'..month..'#3'..year);
\stoplua
}

\unexpanded\def\lineaction{
\Name\ born \Date\quad  (\ddmm{\Date}{/}{.\\,}) \\
}

% Content of CSV file:
% Name;Date
% ME;11/10/14
% You;05/02/14
% He;15/02/2014
% She;03/03/12
% It;03/03/14
% A;11/11/1999
% B;01/2/1964
% C;02/3/23
% D;03/4/64
% E;04/5/00
% F;05/6/01
% G;05/7/15
% H;05/7/1915
% Test0;1/2/00
% Test1;1/2/01
% Test2;1/2/02
% Test3;1/2/03
% Test4;1/2/04
% Test5;1/2/05
% Test6;1/2/06
% Test7;1/2/07
% Test8;1/2/08
% Test9;1/2/09
% Test10;1/2/10
% Test11;1/2/11
% Test12;1/2/12
% Test13;1/2/13
% Test14;1/2/14
% Test15;1/2/15
% Test16;1/2/16
% Test17;1/2/17
% Test18;1/2/18
% Test19;1/2/19
% Test20;1/2/20

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

\starttext
   \filelineaction
\stoptext



Dne 18.12.2014 19:07, Pablo Rodriguez napsal(a):

On 12/18/2014 01:24 PM, Jaroslav Hajtmar wrote:

Hi Pablo,
I am sending still slightly modified version (use local variables and
better typographic output).
It use of much variables, but at least it is clear how it works. For
solution occurred me to use parsing function that I have been defined in
the library, so that it can be successfully used.

Many thanks for your reply, Jaroslav.

This is exactly what I need.

Many thanks for your help,

Pablo



\usemodule[scancsv]

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

\unexpanded\def\lineaction{
  \Name\ arrived on \ddmm{\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 18.12.2014 9:39, Jaroslav Hajtmar napsal(a):

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\ddmm#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 (year2000) then year=year+2000 end;
 tex.print(day..'#3'..month..'#3'..year);
\stoplua
}

\unexpanded\def\lineaction{
 \Name\ arrived on \ddmm{\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/ when required?

Many thanks for your help,


Pablo




___
If your question is of interest to others 

[NTG-context] expand date from CSV file

2014-12-17 Thread Pablo Rodriguez
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/ when required?

Many thanks for your help,


Pablo
-- 
http://www.ousia.tk
___
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
___