O CSVCompareTool permite encontrar diferenças entre dois arquivos CSV com base em um identificador de coluna especificado. Ele fornece uma maneira simples de comparar o conteúdo de dois arquivos CSV e identificar quais registros estão presentes em um arquivo, mas não no outro.
Observação
Ao comparar os arquivos CSV para diferenças, não se esqueça de fornecer ao CSV mais entradas em segundo. Por exemplo, se o CSV-1 tiver uma lista de 34 nomes, e o CSV-2 tiver uma lista de 40, o CSV-2 deve ser definido como o segundo caminho do CSV passado para que as diferenças sejam mostradas conforme o esperado.
Você pode instalar o CSV-Compare usando pip :
pip install csv-compare-toolPara usar o CSV-Compare em seu projeto Python, siga estas etapas.
Importante
Ao importar como um pacote em um projeto Python, remova os hífens para que o pacote lê csvcomparetool (consulte Pep 8 para obter mais informações)
import csvcomparetool Opcionalmente, você pode importar a classe CSVComparer sozinha
from csvcomparetool import CSVComparerCSVComparer csv1_path = "path/to/first.csv"
csv2_path = "path/to/second.csv"
column = "identifier_column"
comparer = CSVComparer ( csv1_path , csv2_path , column ) if not comparer . validate_paths ():
print ( "CSV file paths are invalid. Please check the file paths and try again." )
return if not comparer . validate_columns ():
print ( "Provided column not found in CSV. Check the columns and try again." )
return differences = comparer . find_differences () for difference in differences :
print ( f"Record ' { difference } ' is present in CSV2 but not in CSV1." ) from csvcomparetool import CSVComparer
csv1_path = "path/to/first.csv"
csv2_path = "path/to/second.csv"
column = "identifier_column"
comparer = CSVComparer ( csv1_path , csv2_path , column )
if not comparer . validate_paths () or not comparer . validate_columns ():
print ( "CSV file paths are invalid, or the column identifier does not exist. Check the file paths and columns and try again." )
else :
differences = comparer . find_differences ()
for difference in differences :
print ( f"Record ' { difference } ' is present in CSV2 but not in CSV1." )Primeiro, clone este repositório para um diretório local em sua máquina
git clone https://github.com/liquidz00/csv-compare.gitNavegue até o local do repo clonado (diretório local onde você escolheu salvar o repositório)
cd /path/to/repo/src/csvcomparetool/Por fim, execute o seguinte comando
python cli.py /csv/path/one /csv/path/two columnidentifier