Configuração CSV

A maneira como os dados CSV são processados quando são importados é especificada em um arquivo de configuração XML. O nome desse arquivo é transferido para o programa de linha de comando runcsv2ppm como um argumento.

No arquivo de configuração, pode especificar o separador ou renomear cabeçalhos de coluna.

O formato do arquivo XML é especificado pela seguinte DTD:

s_csv_2_DTD_4

Elemento ou atributo XML

Descrição

Exemplo

csvextractor

Configuração do processo de importação CSV

Ver abaixo

fieldseparator

Separador

,

Máscara

Caractere de mascaramento (os valores importados não estão mascarados)

"

hasheaderline

Os arquivos CSV incluem o cabeçalho

 

renamefield

Renomear uma coluna de dados

Ver abaixo

name

Nome de uma coluna de dados gerada a partir de arquivos CSV

MATERIAL
ou
FIELD_3

newname

Novo nome da coluna de dados

Designação do
elemento

skipstartlines

Linhas iniciais a serem ignoradas

 

skipendlines

Linhas finais a serem ignoradas

 

numberoflines

Número de linhas iniciais a serem ignoradas. A contagem começa na primeira linha.

10

pattern

Padrão de caracteres para localizar uma linha de dados a partir da qual as linhas devem ser extraídas  (skipstartlines: por padrão, a linha encontrada também é extraída) ou até à qual as linhas devem ser extraídas (skipendlines: a linha encontrada, incluindo todas as linhas seguintes, não é extraída
São permitidos os seguintes espaços reservados:
* Nenhum ou qualquer número de caracteres
? Apenas um caractere
\ Caractere de mascaramento para procurar espaços reservados ou mascarar caracteres na forma:
\\ ou \* ou \?
É selecionada a primeira linha do topo que corresponde ao padrão especificado.

Por exemplo, a expressão
*10?\\\\\*269
pesquisa valores como  555108\\*269 ou 104\\*269, mas não  104\\555269.

ignorethisline
(apenas com pattern em skipstartlines)

Na extração, ignore (yes) ou não ignore (no) a linha de dados que contém o padrão pretendido. Valor padrão: no

yes

mincolumn
number

Especifica um número mínimo de colunas para definir o início e/ou o final do intervalo de dados a ser extraído. skipstartlines: As linhas são extraídas de (inclusivo) a primeira linha encontrada com pelo menos o número especificado de colunas. skipendlines: As linhas são extraídas de (exclusivo) a primeira linha encontrada com menos do que o número especificado de colunas.

4

Configuração de exemplo (csvconfig.xml)

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE csvextractor SYSTEM 'csvextractor.dtd'>

<csvextractor>

<fieldseparator>;</fieldseparator>

<mask>"</mask>

<hasheaderline/>

<renamefield name="FIELD_3" newname=

"Order item recorded by"/>

<renamefield name="MATERIAL" newname="Item designation"/>

<skipstartlines>

<pattern ignorethisline="yes">###*</pattern>

</skipstartlines>

<skipendlines>

<pattern>5???;*;*;*;*</pattern>

</skipendlines>

</csvextractor>

Arquivo CSV a ser importado (example.csv)

O arquivo consiste em uma linha de comentário, um cabeçalho e cinco registros de dados:

### Order data 03/25/2006 ###

ORDER NUMBER;POSITION;;MATERIAL;QUANTITY

4711;10;"Harry, ""A"" Williams";Mobile 6600;3

4811;23;"Ben, ""B"" Snyder";Mobile 6601;2

4911;15;"George, ""C"" Nyland";Mobile 6602;1

5011;6;"George, ""C"" Nyland";Mobile 5405;2

5211;23;"George, ""C"" Nyland";Mobile 5410;1

Arquivo de saída no formato do evento de sistema do PPM (event.xml)

O gerador de eventos do sistema CSV usa a configuração CSV de exemplo para gerar o seguinte arquivo de saída XML:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE eventlist SYSTEM "event.dtd">

<eventlist>

<event>

<attribute type="ORDER NUMBER">4711</attribute>

<attribute type="POSITION">10</attribute>

<attribute type="Order item recorded by"

>Harry, "A" Williams</attribute>

<attribute type="Item designation">Mobile 6600

</attribute>

<attribute type="QUANTITY">3</attribute>

</event>

<event>

<attribute type="ORDER NUMBER">4811</attribute>

<attribute type="POSITION">23</attribute>

<attribute type="Order item recorded by"

>Ben, "B" Snyder</attribute>

<attribute type="Item designation">Mobile 6601

</attribute>

<attribute type="QUANTITY">2</attribute>

</event>

<event>

<attribute type="ORDER NUMBER">4911</attribute>

<attribute type="POSITION">15</attribute>

<attribute type="Order item recorded by"

>George, "C" Nyland</attribute>

<attribute type="Item designation">Mobile 6602

</attribute>

<attribute type="QUANTITY">1</attribute>

</event>

</eventlist>

De acordo com as especificações do arquivo de configuração CSV, a seguinte chamada de linha de comando gera um evento de sistema no arquivo de saída XML para cada registro de dados nos dados CSV:

runcsv2ppm -i example.csv -csvconfig csvconfig.xml -outfile event -nozip

Durante a importação e para todos os eventos de sistema, o nome FIELD_3 associado à terceira coluna de dados é automaticamente substituído por Order item recorded by e a coluna de dados MATERIAL é renomeada para Designação do elemento. Os valores mascarados do tipo de atributo Order item recorded by são desmascarados. A linha de comentário é ignorada na extração conforme especificado para skipstartlines. As últimas duas linhas da área de dados são ignoradas conforme especificado para skipendlines (números de pedido 5011, 5211).