DeepSeek ArtifactsDeepSeek Artifacts

App para análise e correção de CSV

4.0
pt
Tecnologia
CSV
análise de dados
correção de erros
automação
organização de dados

النص التوجيهي

quero um app que analise todo o csv, detecte onde esta os erros, remova as linhas com defeito, gere outro csv com as linhas com defeitos, depois resgate o arquivo com as linhas com defeito, corrija e gere outro corrigidos, o csv esta totalmente desorganizado, não tem uma logica clara, e dados misturados, quer que abra, veja as linhas com defeitos corrija em outro arquivo, gere outro terceiro arquivo com todas as linhas ordenadas em e ajustada e corrigida, segue o cabeçalho e 3 linhas erradas e 3 certas para analise de logicas e resolução.

cabeçalho: CLI_NOME,CLI_CPFCNPJ,CLI_DDD,CLI_FONE,CLI_LOGRADOURO,CLI_NROLOGRADOURO,CLI_COMPLLOGRADOURO,CLI_BAIRRO,CLI_CEP,CLI_CIDADE,CLI_UF,CLI_LOGIN

correto: "MARIELLI MENDES MOURA";"03113075157";"62";"96733416";"RUA P-001";"SN";"QUADRA30 LOTE07";"SETOR SANTA LUZIA";"74921010";"APARECIDA DE GOIANIA";"GO";"[email protected]"
correto: "RENATA BROCCO ALVES";"08814749752";"62";"96786844";"RUA HENRIQUE SILVA";"805";"SALA 2";"SETOR SUL";"74083020";"GOIANIA";"GO";"[email protected]"
correto: "JULIANA FERREIRA";"01293995150";"00";"000000000";"RUA NEWTON MARQUES FERREIRA";"14";"QUADRA13-A LOTE14 - CASA 1";"CRUZEIRO DO SUL";"74917090";"APARECIDA DE GOIANIA";"GO";"[email protected]"

incorreto e fora de ordem: "OLIENE MESQUITA DE ANDRADE FIGUEIRA";"91965306187";"062";"99684410";"BR. 153";" KM. 195";"S/N.";"";"ZONA RURAL";"76400000";"URUACU";"GO";"[email protected]"
incorreto e fora de ordem: "ROBERTO SARAIVA CAVALCANTE";"00203269128";"62";"36265340";"R";" DONA GERCINA QUADRA";" 17 LOTE";" 01";"SN";"BL";"F AP";"12";"NEGRAO DE LIMA";"74000000";"GOIANIA";"GO";"[email protected]"
incorreto e fora de ordem: "IRLEY DE OLIVEIRA SANTANA";"83139044100";"62";"96026682";"RUA 402";"QUADRAH";" N.500 COND. RECANTO PRAÇAS";" BLOCO19";" AP.403";"";"SN";"NEGRÃO DE LIMA";"NEGRÃO DE LIMA";"74650340";"GOIANIA";"GO";"[email protected]"

النتيجة المولدة

import React, { useState } from 'react';
import './App.css';

const App = () => {
  const [file, setFile] = useState(null);
  const [errorRows, setErrorRows] = useState([]);
  const [correctedRows, setCorrectedRows] = useState([]);

  const handleFileChange = (e) => {
    const file = e.target.files[0];
    setFile(file);
  };

  const processFile = () => {
    const reader = new FileReader();
    reader.onload = (e) => {
      const text = e.target.result;
      const rows = text.split('\n');
      const header = rows[0].split(',');
      const data = rows.slice(1).map(row => row.split(','));
      const errors = data.filter(row => row.length !== header.length);
      const correct = data.filter(row => row.length === header.length);
      setErrorRows(errors);
      setCorrectedRows(correct);
    };
    reader.readAsText(file);
  };

  return (
    <div className='container mx-auto p-4'>
      <h1 className='text-3xl font-bold mb-4'>CSV Analyser</h1>
      <input type='file' onChange={handleFileChange} className='mb-4' />
      <button onClick={processFile} className='bg-blue-500 text-white px-4 py-2 rounded'>Process File</button>
      <div className='grid grid-cols-2 gap-4 mt-8'>
        <div>
          <h2 className='text-xl font-semibold mb-2'>Error Rows</h2>
          {errorRows.map((row, i) => (
            <div key={i} className='bg-red-100 p-2 rounded mb-2'>
              {row.join(', ')}
            </div>
          ))}
        </div>
        <div>
          <h2 className='text-xl font-semibold mb-2'>Corrected Rows</h2>
          {correctedRows.map((row, i) => (
            <div key={i} className='bg-green-100 p-2 rounded mb-2'>
              {row.join(', ')}
            </div>
          ))}
        </div>
      </div>
    </div>
  );
};

export default App;

المزيد من التوصيات

عرض الكل