Cómo unir archivos CSV dentro de ZIP automáticamente con PowerShell

Imagen
Cómo unir archivos CSV dentro de ZIP automáticamente con PowerShell Automatiza la consolidación de reportes CSV provenientes de múltiples archivos ZIP sin duplicar encabezados. Cuando trabajamos con reportes generados por diferentes sistemas es bastante común recibir información distribuida en varios archivos CSV, muchas veces comprimidos dentro de archivos ZIP. Por ejemplo, podemos recibir diariamente: Reportes de facturación. Archivos de pedidos. Información de embarques. Reportes de logística. Archivos generados por un ERP. Información descargada de algún sistema administrativo. Reportes enviados por diferentes sucursales. El problema aparece cuando tenemos que juntar todos esos archivos manualmente. Abrir cada ZIP, extraer el CSV, copiar la información, pegarla en otro archivo y repetir el proceso puede convertirse en una tarea repetitiva y propensa a errores. En este artículo vamos a crear un pequeño script de PowerShell que automatiza este pro...

Macro de Excel para abrir archivo csv

Hay veces que quieres abrir un archivo de Excel pero está separado por comas, punto y coma o por un pipe. Hay formas de hacerlos desde Excel. Les quiero compartir algunas opciones de como hacerlo y espero que les sean de utilidad.

1.Es abrir el archivo en Excel y utilizar la función de separar por columnas y seleccionar el delimitador, por ejemplo ";"






2. Es colocar "sep=;" en el primer renglón del archivo que quieres abrir y guardar en formato CSV y abrirlo en Excel y te lo abrirá separado en columnas.




3. Otra forma es con una macro, esté en mi gusto es la que más me funciona porque si hay alguna coma en la descripción o en alguna columna, si lo abres desde Excel te va a desacomodar las columnas. 

Este botón te abrirá un pantalla para abrir el archivo que quieres separar y te lo abrirá en una hoja de excel ya separado.

El código de la macro es el siguiente 
Private Sub CommandButton1_Click()

Dim sht As Worksheet
Dim fnd As Variant
Dim rplc As Variant
Dim wb As Workbook
  
  strArchivo = Application.GetOpenFilename
  If strArchivo = False Then Exit Sub
  Workbooks.OpenText fileName:=strArchivo
  
  Set wb = Workbooks.Open(strArchivo)
  
  fnd = ","
  rplc = " "

  Set sht = wb.Sheets(1)

 'Replace comma
 sht.Cells.Replace what:=fnd, Replacement:=rplc, _
 LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
 SearchFormat:=False, ReplaceFormat:=False
  
  
 sht.Columns("A:A").Select
 Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
 TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
 Semicolon:=True, Comma:=False, Space:=False, Other:=False


End Sub

Si les gustaría ver un vídeo dejen sus comentarios.

Espero les sea de utilidad y nos compartan 🤗😁

Comentarios

  1. Gracias por compartir, me fue util en un desarrollo personal..

    ResponderBorrar
    Respuestas
    1. Hola que bueno que te ayudó 👍, gracias por visitarnos y dejar tu comentario

      Borrar
  2. Buen día, muy buen aporte. Muchas gracias.
    Aunque solo elimina las comas, no separa las palabras en columnas. ¿Cómo se podría hacer?

    ResponderBorrar

Publicar un comentario

Dejanos tus dudas y comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)