我有多個CSV文件具有相同的標題,我試圖在批處理中將它們組合在一起,並只保留一個標題。有任何想法嗎?批量組合CSV刪除標題
6
A
回答
7
您可以使用MORE +1
輸出除第一行以外的所有行。
>new.csv (
type file1.csv
more +1 file2.csv
more +1 file3.csv
REM etc.
)
很明顯,你可以調整行的數量根據需要在每個文件跳過。
要合併所有CSV文件在當前文件夾: 編輯:修改爲不使用新創建輸出CSV輸入
@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
或者你可以使用FOR/F,以避免處理新創建文件:
@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"
)
)
顯然這隻有在所有csv文件共享相同格式時纔有效。
編輯2015年7月30日:有一些限制:
- Tab字符將被轉換成一個空格字符串
- 每個CSV源文件必須少於64K行
+0
爲什麼第一個例子限於64k行? –
3
我在使用dbenham的方法來組合當前文件夾中的所有CSV文件時遇到了問題。它偶爾會提取CSV並將其包含在集合中。我已修改它以避免此問題。
@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. 批量組合CSV刪除標題
- 2. 批量組合文件無標題
- 3. 批量刪除?
- 4. 基於日期批量刪除csv中的一行批次
- 5. mysql批量刪除
- 6. Mercurial批量刪除
- 7. 批量刪除elasticsearch
- 8. Hibernate批量刪除
- 9. 如何批量刪除問題
- 10. python ldap3批量刪除用戶和組
- 11. 從csv中刪除標題行javascript
- 12. 刪除csv字符串標題
- 13. 將CSV合併到1個Excel工作表並刪除標題
- 14. 批量刪除和批量更新
- 15. 爲什麼批量刪除記錄比批量刪除更好?
- 16. Hibernate批量刪除vs單一刪除
- 17. 刪除通過批量
- 18. 批量刪除HSQLDB和SQuirreL
- 19. 如何將批量刪除?
- 20. 批量刪除BizForm數據
- 21. ElasticSearch刪除批量項目
- 22. 批量更新/刪除EF5
- 23. 在mysql中批量刪除
- 24. Phalcon ODM批量刪除
- 25. SOLR批量刪除URL
- 26. Yii CgridView批量刪除
- 27. 批量刪除文件夾?
- 28. 使用stackexchange.Redis批量刪除?
- 29. 批量刪除空目錄
- 30. Marklogic 8:批量刪除
是否有一個特定的文件,你希望保留標題(即:只有第一個CSV文件,或只有最後?)或所有的文件都有一個相同的頭? –