Para el análisis de datos, lo más importante son los datos y debemos prepararlos antes de poder usarlos para el análisis. A veces, los datos requeridos pueden estar dispersos en varios archivos y necesitamos fusionarlos. En este artículo, vamos a fusionar varios archivos TSV (Valores separados por tabulaciones) con una clave común. Esto puede ser posible utilizando el método de combinación de la biblioteca Python de pandas . Este método nos permite combinar archivos usando una clave común.
Acercarse:
- Importar biblioteca de pandas
- Luego lea los primeros dos archivos tsv y combínelos usando la función pd.merge() configurando el parámetro ‘on’ en la columna común presente en ambos archivos. Luego almacene el resultado en un nuevo marco de datos llamado ‘Output_df’.
- Almacene los archivos restantes en una lista.
- Ejecute un ciclo que iterará sobre estos nombres de archivo. Lea estos archivos uno por uno y combínelos con el marco de datos ‘Output_df’
- Guarde ‘Output_df’ en el archivo tsv
Ejemplo 1:
En este ejemplo, fusionaremos archivos tsv mediante una unión interna. Hemos tomado cuatro archivos tsv para este ejemplo de la siguiente manera.
Archivo utilizado: Customer.tsv , Account.tsv , Branch.tsv , Loan.tsv
Python3
# Import pandas library import pandas as pd # Read first two csv files with '\t' separator tsv1 = pd.read_csv("Documents/Customer.tsv", sep='\t') tsv2 = pd.read_csv("Documents/Account.tsv", sep='\t') # store the result in Output_df dataframe. # Here common column is 'ID' column Output_df = pd.merge(tsv1, tsv2, on='ID', how='inner') # store remaining file names in list tsv_files = ["Branch.tsv", "Loan.tsv"] # One by one read tsv files and merge with # 'Output_df' dataframe and again store # the final result in Output_df for i in tsv_files: path = "Documents/"+i tsv = pd.read_csv(path, sep='\t') Output_df = pd.merge(Output_df, tsv, on='ID', how='inner') # Now store the 'Output_df' # in tsv file 'Output.tsv' Output_df.to_csv("Documents/Output.tsv", sep="\t", header=True, index=False)
Producción:
Ejemplo 2:
En este ejemplo, fusionaremos archivos tsv mediante una combinación externa. Hemos tomado cuatro archivos tsv para este ejemplo de la siguiente manera.
Archivo utilizado: Course.tsv , Teacher.tsv , Credits.tsv , Marks.tsv
Python3
# Import pandas library import pandas as pd # Read first two csv files with '\t' separator tsv3 = pd.read_csv("Documents/Course.tsv", sep='\t') tsv4 = pd.read_csv("Documents/Teacher.tsv", sep='\t') # store the result in Output_df dataframe. # Here common column is 'Course_ID' column Output_df2 = pd.merge(tsv3, tsv4, on='Course_ID', how='outer') # store remaining file names in list tsv_files = ["Credits.tsv", "Marks.tsv"] # One by one read tsv files and merge with # 'Output_df2' dataframe and again store # the final result in 'Output_df2' for i in tsv_files: path = "Documents/"+i tsv = pd.read_csv(path, sep='\t') Output_df2 = pd.merge(Output_df2, tsv, on='Course_ID', how='outer') # Now store the 'Output_df2' in tsv file 'Output_outer.tsv' # Here we replacing nan values with NA Output_df2.to_csv("Documents/Output_outer.tsv", sep="\t", header=True, index=False, na_rep="NA")
Producción:
Publicación traducida automáticamente
Artículo escrito por patildhanu4111999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA