Tengo varios archivos CSV con el mismo encabezado y estoy tratando de combinarlos juntos en Batch y mantener solo un encabezado único. ¿Algunas ideas?Batch Combine CSV Remove Header
Respuesta
Puede usar MORE +1
para dar salida a todas las líneas menos a la 1ra.
>new.csv (
type file1.csv
more +1 file2.csv
more +1 file3.csv
REM etc.
)
Obviamente se puede ajustar el número de líneas a saltar en cada archivo según sea necesario.
Para combinar todos los archivos CSV en la carpeta actual: Editar: modificado para no utilizar csv salida de nueva creación como entrada
@echo off
setlocal
set first=1
>new.csv.tmp (
for %%F in (*.csv) do (
if defined first (
type "%%F"
set "first="
) else more +1 "%%F"
)
)
move /y new.csv.tmp new.csv >nul
o puede utilizar PARA/F para evitar el procesamiento de nueva creación archivo:
@echo off
setlocal
set first=1
>new.csv (
for /f "eol=: delims=" %%F in ('dir /b /a-d *.csv') do (
if defined first (
type "%%F"
set "first="
) else more +1 "%%F"
)
)
Obviamente esto solo es efectivo si todos los archivos csv comparten el mismo formato.
EDITAR 30/07/2015:Hay algunas limitaciones:
- caracteres de tabulador se convierte en una cadena de espacios
- Cada archivo fuente CSV debe tener menos de 64 k líneas
¿Por qué el primer ejemplo está limitado a 64k líneas? –
Estaba teniendo problemas con el método de dbenham para combinar todos los archivos CSV en la carpeta actual. Ocasionalmente recogería el CSV resultante y lo incluiría en el conjunto. Lo he modificado para evitar este problema.
@echo off
setlocal
set first=1
set fileName="combinedFiles.csv"
>%fileName% (
for %%F in (*.csv) do (
if not "%%F"==%fileName% (
if defined first (
type "%%F"
set "first="
) else more +1 "%%F"
)
)
)
- 1. Threadlocal remove?
- 2. Batch script with for loop and pipe
- 3. html table cells combine
- 4. Combine Images en android
- 5. PyParsing: ¿Qué hace Combine()?
- 6. MSBuild combine files
- 7. Combine NotifyIcon y ToolTip
- 8. ELSE comando batch
- 9. Doctrine2 Batch Insert
- 10. Graph Batch API
- 11. Batch Paypal Payments
- 12. web.config batch = "false"
- 13. remove "\ n" de NSString
- 14. Zend_Tool remove controller/action
- 15. YUI remove javascript comments
- 16. remove pytz timezone
- 17. remove css hover style
- 18. LiveValidation .remove no funciona
- 19. jQuery empty() vs remove()
- 20. List Iterator Remove()
- 21. jquery add remove class
- 22. ¿Cómo funciona header()?
- 23. C++ header circular incluye
- 24. jQuery AJAX Header Authorization
- 25. WPF TabItem Header Images
- 26. Ogg Vorbis header specifications
- 27. ASIHTTPRequest y http header
- 28. Circular C++ Header Incluye
- 29. Android listview header
- 30. OAuth 2.0 Authorization Header
¿Hay un archivo en particular que desea mantener la cabecera (es decir: sólo el primer archivo CSV, o sólo la última?) ¿O es que todos los archivos tienen un encabezado idénticos? –