我有一種情況,需要將四個CSV文件合併到一個CSV文件中。這很容易,如果我只是想一個接一個地添加它們,但我需要讓它們並排在CSV文件中。我知道所有四個文件具有相同數量的條目(在1000條目範圍內)。我一直在研究下面的代碼,它適用於小文件,但對於長文件來說效率極低。有沒有更簡單的方法來完成相同的任務?使用批處理文件將多個.csv文件合併爲一個.csv文件
@echo off
setlocal enabledelayedexpansion
Set R=1
Set T=1
Set Y=1
Set U=1
for /f %%a in (test1.txt) do (
set I=!R!
for /f %%b in (test2.txt) do (
set J=!T!
for /f %%c in (test3.txt) do (
set K=!Y!
for /f %%d in (test4.txt) do (
set L=!U!
If !I!==!J! If !J!==!K! If !K!==!L! echo %%a,%%b,%%c,%%d >> TestComplete.txt
Set /a U=U+1
)
Set U=1
Set /a Y=Y+1
)
Set Y=1
Set /a T=T+1
)
Set T=1
Set /a R=R+1
)
注:我知道我粘貼的代碼是使用.txt文件而不是.csv文件。我假設一個人會爲另一個人工作。
再說一遍,只要文件很小,上面的代碼看起來效果很好。當文件(在這種情況下爲test1.txt)有大約1000行文本時,我遇到了麻煩(當然)。
文件是否有標題?如果不是,您可以簡單地使用複製命令來合併它們。 –
@a_horse_with_no_name:那會做「union all」。但他們想要一種「加入rownum」。 –