Exemplos de extração de dados de arquivos do Microsoft Excel (DataStage® )
É possível construir tarefas de amostra que extraem dados de arquivos do Microsoft Excel. Neste exemplo, o estágio Sequential File é usado como estágio de saída. É possível usar qualquer outro estágio de saída para criação da saída.
Para obter os arquivos para os exemplos, extraia o arquivo IS_install\Clients\Samples\Connectors\UnstructuredData_Samples.zip.
Exemplo 1: Extração de dados de um intervalo em um arquivo do Microsoft Excel
Crie um trabalho que use o estágio do Excel para recuperar dados de um intervalo em uma planilha do Microsoft Excel.
Este exemplo usa o arquivo de amostra do Microsoft Excel Employee1.xls, que contém detalhes dos funcionários que trabalham em uma organização. Esse arquivo de amostra tem três planilhas: Sheet1, Sheet2 e Sheet3.Sheet1 contém informações sobre os funcionários de cada departamento da organização. Sheet2 e Sheet3 estão em branco. Neste exemplo, você extrai informações de negócios sobre somente os funcionários que trabalham para o departamento B01.
- Para extrair dados de um intervalo em um arquivo Excel:
- Crie um trabalho que inclua um estágio de Excel e um estágio de Sequential File.
- Clique duas vezes no estágio do Excel.
- Na janela Configuration, especifique o caminho completo do arquivo de entrada do Microsoft Excel Employee1.xls.
- Na lista Opção de intervalo, selecione Especificar todo o intervalo de dados para extrair os dados em um intervalo específico.
- No Expressão de intervalo campo, especifiqueSheet1!A16:K28 .
- No campo Cabeçalho da coluna, selecione a Primeira linha de intervalos de dados. Quando a Primeira linha de intervalos de dados é selecionada, a primeira linha é considerada como o cabeçalho e o estágio do Excel começa a extrair a partir da segunda linha.
- Desmarque a caixa de seleção ao lado das colunas E (PHONE NO) e I (BIRTH DATE) do Microsoft Excel.
- Clique em Importar e OK. Quando você clica em Importar, o painel Mapa no canto inferior direito da janela Configuração é atualizado.
- Na página , altere o tipo da coluna EMP_NO para Inteiro e, em seguida, clique em OK.
- Dê um clique duplo no estágio Sequential File. No Propriedades página, especifique o caminho onde deseja que o arquivo de saída seja criado, seguido pelo nome do arquivoOutputOfExample1.txt e clique em OK.
- Salvar a tarefa. Agora, você pode compilar e executar o trabalho.
A tabela a seguir exibe as informações em um arquivo de entrada do Microsoft Excel que contém as informações do funcionário para diferentes departamentos.
| EMP NO | PRIMEIRO NOME | MID INIT | SOBRENOME | PHONE NO | HIRE DATE | CARGO | SEX | BIRTH DATE |
|---|---|---|---|---|---|---|---|---|
| Funcionários em DEPT_A00 | ||||||||
| 22 | CHRISTINE | I | HAAS | 3978 | 1/1/1995 | PRES | F | 8/24/1963 |
| 20 | MICHAEL | L | THOMSON | 3476 | 10/10/2003 | GERENTE | M | 2/2/1976 |
| 30 | SALLY | A | KWAN | 4738 | 4/5/2005 | GERENTE | F | 5/11/1971 |
| 50 | JOHN | B | GEYER | 6789 | 8/17/1979 | GERENTE | M | 9/15/1955 |
| Funcionários em DEPT_B01 | ||||||||
| 60 | IRVING | F | STERN | 6423 | 9/14/2003 | GERENTE | M | 7/7/1975 |
| 65 | EVA | D | PULASKI | 7831 | 9/30/2003 | GERENTE | F | 5/26/2003 |
| 90 | EILEEN | W | HENDERSON | 5498 | 8/15/2000 | GERENTE | F | 5/15/1971 |
| 100 | THEODORE | Q | SPENSER | 742 | 6/19/2000 | GERENTE | M | 12/18/1980 |
| 110 | VINCENZO | G | LUCCHESSI | 3490 | 5/16/1988 | REPRES. DE VENDAS | M | 11/5/1958 |
| 120 | SEAN | O'CONNELL | 2167 | 12/51993 | CLERK | M | 10/18/1972 | |
| 130 | DELORES | M | QUINTANA | 4578 | 7/28/2001 | Analista | F | 9/15/1955 |
| 140 | HEATHER | A | NICHOLLS | 1793 | 12/15/2006 | Analista | F | 1/19/1976 |
| 150 | BRUCE | ADAMSON | 4510 | 2/12/2002 | DESIGNER | M | 5/17/1972 | |
| 160 | ELIZABETH | R | PIANKA | 3782 | 10/11/2006 | DESIGNER | F | 4/12/1980 |
| 1770 | MASATOSHI | J | YOSHIMURA | 2890 | 9/15/1999 | DESIGNER | M | 1/5/1981 |
| 180 | MARILYN | S | SCOUTTEN | 1682 | 7/7/2003 | DESIGNER | F | 2/21/1978 |
Depois que o trabalho for executado, você poderá abrir o arquivoOutputOfExample1.txt arquivo para visualizar o resultado.
"60","IRVING","F","STERN","2003-09-14","MANAGER ","M","72250","500"
"70","EVA","D","PULASKI","2005-09-30","MANAGER ","F","96170","700"
"90","EILEEN","W","HENDERSON","2000-08-15","MANAGER ","F","89750","600"
"100","THEODORE","Q","SPENSER","2000-06-19","MANAGER ","M","86150","500"
"110","VINCENZO","G","LUCCHESSI","1988-05-16","SALESREP","M","66500","900"
"120","SEAN"," ","O'CONNELL","1993-12-05","CLERK ","M","49250","600"
"130","DELORES","M","QUINTANA","2001-07-28","ANALYST ","F","73800","500"
"140","HEATHER","A","NICHOLLS","2006-12-15","ANALYST ","F","68420","600"
"150","BRUCE"," ","ADAMSON","2002-02-12","DESIGNER","M","55280","500"
"160","ELIZABETH","R","PIANKA","2006-10-11","DESIGNER","F","62250","400"
"170","MASATOSHI","J","YOSHIMURA","1999-09-15","DESIGNER","M","44680","500"
"180","MARILYN","S","SCOUTTEN","2003-07-07","DESIGNER","F","51340","500"Exemplo 2: extraindo dados de várias planilhas do Microsoft Excel
Este exemplo usa o arquivo de amostra do Microsoft Excel Employee2.xls. Esse arquivo de amostra tem as planilhas a seguir: DEPT A00, DEPT B01, DEPT C01 e DEPT D01. Cada planilha contém informações sobre os funcionários do departamento.
A estrutura de dados de cada planilha é semelhante. Cada planilha tem as colunas EMP NO, FIRST NAME, MID INIT, LAST NAME, PHONE NO, HIRE DATE, JOB e ADDRESS e a terceira linha é o cabeçalho. Mas cada planilha tem um número diferente de linhas.
- Para extrair dados de vários arquivos:
- Na janela Configuration, especifique o caminho completo do arquivo de entrada do Microsoft Excel Employee2.xls.
- Na Opção de intervalo, selecione Especificar a linha de início.
- No campo Expressão de intervalo, especifique A3:H3. Quando o estágio é executado com a opção Especificar a primeira linha e nenhum nome de planilha específico é especificado na expressão de intervalo, o trabalho localiza a última linha e extrai as linhas até a última linha em um tempo de execução.
- No Cabeçalho da coluna, selecione a Primeira linha de intervalos de dados.
- No Propriedade guia, marque a caixa de seleção ao lado da propriedade para extrair o valor da propriedade. Neste exemplo, selecione o Sheetname como a propriedade.
- Clique em Importar. O estágio gera os mapeamentos de coluna.
- Para tornar o SheetNname coluna a primeira coluna da lista, selecione a SheetName coluna e clique Acima até o SheetName coluna é a primeira coluna da lista.
- Na tabela de mapeamento, insira uma linha para a coluna ADDRESS no arquivo de entrada que contém o hiperlink.
- Clique Inserir
- Na opção Item do Excel, selecione Coluna ADDRESS.
- Na célula da opção Importar na nova linha, selecione o Endereço do hiperlink.
- Especifique o nome da coluna EMAIL_ADDRESS do DataStage para a nova linha. Em seguida, clique em OK.
- Clique na guia para alterar o tipo de dados ou outros atributos.
- Mude o tipo de coluna EMP_NO para Número inteiro. Clique em OK.
- Na página Propriedades, especifique o caminho em que você deseja que o arquivo de saída seja criado, seguido pelo nome do arquivo OutputOfExample2.txt. Clique em OK.
- Salvar a tarefa. Agora, você pode compilar e executar o trabalho.
Um exemplo são os arquivos de entrada do Microsoft Excel que contêm as informações dos funcionários de cada departamento em diferentes planilhas. Os extratos de trabalho dos dados dos funcionários de todas as planilhas são exibidos na forma das tabelas a seguir:
| EMP NO | PRIMEIRO NOME | MID INIT | SOBRENOME | PHONE NO | HIRE DATE | CARGO | SEX | BIRTH DATE |
|---|---|---|---|---|---|---|---|---|
| 22 | CHRISTINE | I | HAAS | 3978 | 1/1/1995 | PRES | F | 8/24/1963 |
| 20 | MICHAEL | L | THOMSON | 3476 | 10/10/2003 | GERENTE | M | 2/2/1976 |
| 30 | SALLY | A | KWAN | 4738 | 4/5/2005 | GERENTE | F | 5/11/1971 |
| 50 | JOHN | B | GEYER | 6789 | 8/17/1979 | GERENTE | M | 9/15/1955 |
| EMP NO | PRIMEIRO NOME | MIDI NIT | SOBRENOME | PHONE NO | HIRE DATE | CARGO | SEX | BIRTH DATE |
|---|---|---|---|---|---|---|---|---|
| 60 | IRVING | F | STERN | 6423 | 9/14/2003 | GERENTE | M | 7/7/1975 |
| 65 | EVA | D | PULASKI | 7831 | 9/30/2003 | GERENTE | F | 5/26/2003 |
| 90 | EILEEN | W | HENDERSON | 5498 | 8/15/2000 | GERENTE | F | 5/15/1971 |
| 100 | THEODORE | Q | SPENSER | 742 | 6/19/2000 | GERENTE | M | 12/18/1980 |
| 110 | VINCENZO | G | LUCCHESSI | 3490 | 5/16/1988 | REPRES. DE VENDAS | M | 11/5/1958 |
| 120 | SEAN | O'CONNELL | 2167 | 12/51993 | CLERK | M | 10/18/1972 | |
| 130 | DELORES | M | QUINTANA | 4578 | 7/28/2001 | Analista | F | 9/15/1955 |
| 140 | HEATHER | A | NICHOLLS | 1793 | 12/15/2006 | Analista | F | 1/19/1976 |
| 150 | BRUCE | ADAMSON | 4510 | 2/12/2002 | DESIGNER | M | 5/17/1972 | |
| 160 | ELIZABETH | R | PIANKA | 3782 | 10/11/2006 | DESIGNER | F | 4/12/1980 |
| 1770 | MASATOSHI | J | YOSHIMURA | 2890 | 9/15/1999 | DESIGNER | M | 1/5/1981 |
| 180 | MARILYN | S | SCOUTTEN | 1682 | 7/7/2003 | DESIGNER | F | 2/21/1978 |
Depois que o trabalho for executado, você poderá abrir o arquivo OutputOfExample2.txt que contém o seguinte resultado.
"DEPT A00","10","CHRISTINE","I","HAAS","3978","1995-01-01","PRES ","CHRISTINE HAAS","mailto:CHRISTINE%20HAAS@abc.com"
"DEPT A00","20","MICHAEL","L","THOMPSON","3476","2003-10-10","MANAGER ","MICHAEL THOMPSON","mailto:MICHAEL%20THOMPSON@abc.com"
"DEPT A00","30","SALLY","A","KWAN","4738","2005-04-05","MANAGER ","SALLY KWAN","mailto:SALLY%20KWAN@abc.com"
"DEPT A00","50","JOHN","B","GEYER","6789","1979-08-17","MANAGER ","JOHN GEYER","mailto:JOHN%20GEYER@abc.com"
"DEPT B01","60","IRVING","F","STERN","6423","2003-09-14","MANAGER ","IRVING STERN","mailto:IRVING%20STERN@abc.com"
"DEPT B01","70","EVA","D","PULASKI","7831","2005-09-30","MANAGER ","EVA PULASKI","mailto:EVA%20PULASKI@abc.com"
"DEPT B01","90","EILEEN","W","HENDERSON","5498","2000-08-15","MANAGER ","EILEEN HENDERSON","mailto:EILEEN%20HENDERSON@abc.com"
"DEPT B01","100","THEODORE","Q","SPENSER","972","2000-06-19","MANAGER ","THEODORE SPENSER","mailto:THEODORE%20SPENSER@abc.com"
"DEPT B01","110","VINCENZO","G","LUCCHESSI","3490","1988-05-16","SALESREP","VINCENZO LUCCHESSI","mailto:VINCENZO%20LUCCHESSI@abc.com"
"DEPT B01","120","SEAN"," ","O'CONNELL","2167","1993-12-05","CLERK ","SEAN O'CONNELL","mailto:SEAN%20O'CONNELL@abc.com"
"DEPT B01","130","DELORES","M","QUINTANA","4578","2001-07-28","ANALYST ","DELORES QUINTANA","mailto:DELORES%20QUINTANA@abc.com"
"DEPT B01","140","HEATHER","A","NICHOLLS","1793","2006-12-15","ANALYST ","HEATHER NICHOLLS","mailto:HEATHER%20NICHOLLS@abc.com"
"DEPT B01","150","BRUCE"," ","ADAMSON","4510","2002-02-12","DESIGNER","BRUCE ADAMSON","mailto:BRUCE%20ADAMSON@abc.com"
"DEPT B01","160","ELIZABETH","R","PIANKA","3782","2006-10-11","DESIGNER","ELIZABETH PIANKA","mailto:ELIZABETH%20PIANKA@abc.com"
"DEPT B01","170","MASATOSHI","J","YOSHIMURA","2890","1999-09-15","DESIGNER","MASATOSHI YOSHIMURA","mailto:MASATOSHI%20YOSHIMURA@abc.com"
"DEPT B01","180","MARILYN","S","SCOUTTEN","1682","2003-07-07","DESIGNER","MARILYN SCOUTTEN","mailto:MARILYN%20SCOUTTEN@abc.com"
"DEPT C01","190","JAMES","H","WALKER","2986","2004-07-26","DESIGNER","JAMES WALKER","mailto:JAMES%20WALKER@abc.com"
"DEPT C01","200","DAVID"," ","BROWN","4501","2002-03-03","DESIGNER","DAVID BROWN","mailto:DAVID%20BROWN@abc.com"
"DEPT C01","210","WILLIAM","T","JONES","942","1998-04-11","DESIGNER","WILLIAM JONES","mailto:WILLIAM%20JONES@abc.com"
"DEPT C01","220","JENNIFER","K","LUTZ","672","1998-08-29","DESIGNER","JENNIFER LUTZ","mailto:JENNIFER%20LUTZ@abc.com"
"DEPT C01","230","JAMES","J","JEFFERSON","2094","1996-11-21","CLERK ","JAMES JEFFERSON","mailto:JAMES%20JEFFERSON@abc.com"
"DEPT C01","240","SALVATORE","M","MARINO","3780","2004-12-05","CLERK ","SALVATORE MARINO","mailto:SALVATORE%20MARINO@abc.com"
"DEPT C01","250","DANIEL","S","SMITH","961","1999-10-30","CLERK ","DANIEL SMITH","mailto:DANIEL%20SMITH@abc.com"
"DEPT C01","260","SYBIL","P","JOHNSON","8953","2005-09-11","CLERK ","SYBIL JOHNSON","mailto:SYBIL%20JOHNSON@abc.com"
"DEPT D01","270","MARIA","L","PEREZ","9001","2006-09-30","CLERK ","MARIA PEREZ","mailto:MARIA%20PEREZ@abc.com"
"DEPT D01","280","ETHEL","R","SCHNEIDER","8997","1997-03-24","OPERATOR","ETHEL SCHNEIDER","mailto:ETHEL%20SCHNEIDER@abc.com"
"DEPT D01","290","JOHN","R","PARKER","4502","2006-05-30","OPERATOR","JOHN PARKER","mailto:JOHN%20PARKER@abc.com"
"DEPT D01","300","PHILIP","X","SMITH","2095","2002-06-19","OPERATOR","PHILIP SMITH","mailto:PHILIP%20SMITH@abc.com"
"DEPT D01","310","MAUDE","F","SETRIGHT","3332","1994-09-12","OPERATOR","MAUDE SETRIGHT","mailto:MAUDE%20SETRIGHT@abc.com"
"DEPT D01","320","RAMLAL","V","MEHTA","9990","1995-07-07","FIELDREP","RAMLAL MEHTA","mailto:RAMLAL%20MEHTA@abc.com"
"DEPT D01","330","WING"," ","LEE","2103","2006-02-23","FIELDREP","WING LEE","mailto:WING%20LEE@abc.com"
"DEPT D01","340","JASON","R","GOUNOT","5698","1977-05-05","FIELDREP","JASON GOUNOT","mailto:JASON%20GOUNOT@abc.com"
Exemplo 3: extraindo dados de vários intervalos que têm estruturas de dados diferentes em um arquivo do Microsoft Excel
Este exemplo usa o arquivo de amostra do Microsoft Excel Employee3.xls. Este arquivo de amostra tem duas planilhas, Departments e Employees, que têm estruturas de dados diferentes.
Neste exemplo, o estágio Excel tem dois links de saída. Você extrai dados da planilha Departments para o primeiro link e da planilha Employees para o segundo link.
- Para extrair diferentes estruturas de dados:
- Crie um trabalho que inclua um estágio de Excel e dois estágios Sequential File. Você pode renomear seus links como Departamentos e Funcionários.
- Clique duas vezes no estágio do Excel. Na janela Configuration, especifique o caminho completo do arquivo de entrada do Microsoft Excel Employee3.xls.
- Especifique os dados a serem extraídos da planilha Departments e conclua as seguintes subetapas para gerar os mapeamentos de coluna.
- De Link caixa de listagem, selecione Departamentos.
- De Opção de alcance lista, selecione Especifique todo o intervalo.
- No campo Expressão de intervalo, especifique Departamentos!A2:C6 .
- No Cabeçalho da coluna, selecione a Primeira linha de intervalos de dados.
- Clique em Importar e, em seguida, clique em OK.
- Especifique os dados a serem extraídos da planilha Funcionários e conclua as subetapas abaixo para gerar os mapeamentos de coluna.
- Na caixa de listagem Link, selecione Funcionários.
- De Opção de alcance lista, Especifique todo o intervalo.
- No campo Expressão de intervalo, especifique Funcionários!A2:L34.
- No Cabeçalho da coluna, selecione Primeira linha de intervalos de dados.
- Clique em Importar e, em seguida, clique em OK.
- Na página Saída, selecione o link Funcionários como o Nome da saída.
- Na página Colunas, altere o tipo de dados da coluna EMP_NO para um número inteiro e, em seguida, clique em OK.
- Clique duas vezes no primeiro Sequential File estágioOutput_1 e especifique o caminho para criar o arquivo de saída, seguido pelo nome do arquivoOutputOfExample3_1.txt .
- Clique duas vezes no segundo estágio Sequential File Output_2 e especifique o caminho para criar o arquivo de saída, seguido do nome do arquivo OutputOfExample3_2.txt
- Salvar a tarefa. Agora, você pode compilar e executar o trabalho.
Um exemplo de arquivo de entrada do Microsoft Excel Employee3.xls contém informações de departamento na planilha Departments e informações de funcionário na planilha Employees. A tarefa extrai dados do departamento para o arquivo OutputOfExample3_1.txt e dados do funcionário para o OutputOfExample3_2.txt.
Após a execução da tarefa, abra o arquivo OutputOfExample3_1.txt e o arquivo OutputOfExample3_2.txt. O arquivo OutputOfExample3_1.txt deve corresponder à planilha Departamentos e o arquivo OutputOfExample3_2.txt deve corresponder à planilha Funcionários do arquivo Employee.xls.