2008-08-24 62 views
2

我有幾個文件在每行中包含一個值。將來自不同文件的值合併到一個CSV文件中

編輯:

我同時以書面的帖子當中想出的答案,這個問題並沒有意識到我錯在未完成狀態的貼吧。

我試圖做的事:

paste -d ',' file1 file2 file 3 file 4 > file5.csv 

,並得到一個奇怪的輸出。後來我意識到發生了這種情況,因爲有些文件在行尾有回車符和換行符,而其他文件只有換行符。我一直記得要注意那些事情。

回答

2

文件1將兩個文件:

 
1 
2 
3 

文件2:

 
2 
4 
6 
paste --delimiters=\; file1 file2 

將產生:

 
1;2 
3;4 
5;6 
0

您可能需要澄清或重新提出您的問題,但現在回答如下。

的Linux

cat filetwo >> fileone 
1

我有一種感覺,你還沒有完成輸入你的問題,但我仍然會給它一個鏡頭。 ;)

file1: file2: file3: 
1  a  A 
2  b  B 
3  c  C 

~$ paste file{1,2,3} |sed 's/^\|$/"/g; s/\t/","/g' 
"1","a","A" 
"2","b","B" 
"3","c","C" 

或者,

~$ paste --delimiter , file{1,2,3} 
1,a,A 
2,b,B 
3,c,C 
0

,如果你使用的是Windows也不要忘記不斷多才多藝LogParser

它可以對平面文本文件運行類似SQL的查詢來執行各種合併操作。

0

使用logparser或命令行工具的以前的答案應該工作。如果你想對過濾或連接等記錄做一些更復雜的操作,可以考慮使用ETL工具(Pentaho,Mapforce和Talend)。這些工具通常會爲您提供一個圖形調色板來定義數據源與您想要在行上執行的任何操作之間的關係。

相關問題