elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Eleкtro)
| | |-+  Unir archivos csv
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Unir archivos csv  (Leído 450 veces)
IVANJP

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Unir archivos csv
« en: 16 Febrero 2017, 19:08 »

hola quiero unir varios archivos .csv pero los une uno seguido del otro hay manera de unirlos con un espacio o uno abajo de otro ?

ejemplo

casa;hogar:humano;mujercasa;hogar;humano;mujer

los quisiera asi

casa;hogar;humano;mujer
casa;hogar:humano;mujer


Mod: Títulos descriptivos.[/tt]


« Última modificación: 16 Febrero 2017, 21:09 por #!drvy » En línea

#!drvy
CoAdmin
***
Desconectado Desconectado

Mensajes: 4.564



Ver Perfil WWW
Re: Unir archivos csv
« Respuesta #1 en: 16 Febrero 2017, 21:09 »

¿Que usas para unirlos? Puedes poner algo de contenido de ellos para hacernos la idea?

Saludos


En línea

NEBIRE


Desconectado Desconectado

Mensajes: 397


Ver Perfil
Re: Unir archivos csv
« Respuesta #2 en: 16 Febrero 2017, 23:25 »

si estás en un sistema win2, tienes el comando Copy, con la opción /b, permite añadir ficheros a otro dado.

No usa ninguna separación, pero basta un poco de imaginación... para usar un separador, basta crear un fichero que contenga el separador que tu quieras, por ejemplo:
- Si quieres ";" como separador, escribe eso en un fichero y lo guardas.
- Si quieres un salto de línea, pues escribe eso en un fichero y nada más, guarda ese fichero.
Luego concatenas detrás de cada fichero, ese que actúa de separador...

El comando, entonces sería tal que así:  
copy /b fich1+fichSep+fich2+fichSep+fich3+fichSep+fich4 FichDestino

Nota que fichSep, sería ese fichero que se ha creado con un separador (lo que quieras poner como separador), para que actúe como tal.

Si los ficheros no están en la misma carpeta, deberás poner la ruta completa.
Si hay caracteres de espacio entre los nombres o rutas, toda la ruta de ese fichero debe ir entre comillas.
Si el comando es muy largo, o tuvieras que ejecutarlo a menudo (no una única vez),  es mejor escribir el comando en un fichero bat/cmd, para ejecutarlo/editarlo cuando convenga.
« Última modificación: 16 Febrero 2017, 23:28 por NEBIRE » En línea

Eleкtro
Novato Astral y
Moderador Global
***
Desconectado Desconectado

Mensajes: 8.975


El sentido común es el menos común de los sentidos


Ver Perfil
Re: Unir archivos csv
« Respuesta #3 en: 22 Febrero 2017, 05:05 »

Hola.

Como ya te han mencionado, puedes usar el comando Copy. Recuerda que puedes usar los asteriscos para incluir todos los archivos del directorio de trabajo actual:

Código
  1. Copy /B "*.csv" "Destination File.csv"



Si deseas añadir un salto de linea entre cada unión, entonces primero debes comprobar si el archivo termina con un salto de linea/linea en blanco o no, y eso no es posible mediante batch ya que el comando For por defecto descarta las lineas en blanco en la iteración de lineas de un archivo de texto plano. Así pues, esto sería una manera de hacerlo usando VisualBasic Script:

Script.vbs
Código
  1. Option Explicit
  2.  
  3. Dim dir, file, fso, shell, reader, writer, _
  4.    outFilepath, curLine, allLines
  5.  
  6. Set fso     = WScript.CreateObject("Scripting.FileSystemObject")
  7. Set shell   = WScript.CreateObject("WScript.Shell")
  8. Set dir     = fso.GetFolder(shell.CurrentDirectory)
  9. outFilepath = dir.Path & "\" & "New.csv"
  10. Set writer  = fso.CreateTextFile(outFilepath, True)
  11. Set reader  = Nothing
  12.  
  13. For Each file In dir.Files
  14.  
  15.    If (LCase(fso.GetExtensionName(file.name)) = "csv") And (file.Path <> outFilepath) Then
  16.  
  17.        Set reader = file.OpenAsTextStream(1, False)
  18.        Do Until reader.AtEndOfStream
  19.            curLine = reader.ReadLine()
  20.            If Not reader.AtEndOfStream Then
  21.                allLines = (allLines & curLine & vbCrLf)
  22.            Else
  23.                allLines = (allLines & curLine)
  24.            End If
  25.        Loop
  26.        reader.Close()
  27.  
  28.        If (curLine <> "") Then
  29.            writer.write(allLines & vbCrLf)
  30.        Else
  31.            writer.write(allLines)
  32.        End If
  33.  
  34.    End If
  35.  
  36.    allLines = ""
  37. Next
  38. writer.Close()
  39.  
  40. WScript.Quit(0)

¡Saludos!.
En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
unir archivos Mp4
Multimedia
stars 8 3,513 Último mensaje 24 Noviembre 2006, 13:59
por stars
Unir los archivos .cap
Hacking Wireless
maxiplex 3 9,900 Último mensaje 16 Enero 2008, 11:36
por ChimoC
Unir archivos ISO
Windows
Mayhem 4 2,593 Último mensaje 2 Septiembre 2008, 11:06
por Gogadict
Unir 74 archivos .ISO
Juegos y Consolas
massaker 9 3,584 Último mensaje 1 Julio 2009, 00:40
por DanyKadiz
Unir archivos y agregar el nombre de archivos a cada linea por MS-DOS
Scripting
cialem 4 2,623 Último mensaje 18 Julio 2012, 16:13
por cialem
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines