2016-11-14 4 views
1

2つのCSVファイルを連結して1つのCSVファイルにマージします。最初のCSVファイルの列は、2番目のCSVファイルのすべての列の後に来る必要があります。私はPythonでいくつかのコードが欲しいです。あなたはこれをするのを助けることができますか?同じ行数の2つのCSVファイルを列方向に連結

これは私の試みです:

from itertools import izip 
import csv 

with open('output.csv','rb') as f1, open('mnist_images.csv','rb') as f2, open('outputFinal.csv','wb') as w: 
    writer = csv.writer(w) for r1,r2 in izip(f1,f2): 
     writer.writerow(r1+r2) 
+0

と何をしようとしていますか? – Tom

+0

私は以下のコードスニペットを試してみました:itertoolsからimport izip import csv open( 'output.csv'、 'rb')をf1として、open( 'mnist_images.csv'、 'rb')をf1、f2): writer.writerow(r1 + r2) –

答えて

1

はこれを試してみてください:

このタスクのための最も強力なツールの
fout = open("first.csv","a") 
for line in open("second.csv"): 
    fout.write(line) 
# not really needed 
fout.close() 
+0

には、次のようにw: ライター= csv.writer(w) をr1、r2用に開きます( 'outputFinal.csv'、 'wb' upvote私の質問は、私はあなたのupvoteに十分なrepuationポイントを得ることができるように。評判の数が少ないため、私はあなたの答えをupvoteすることができません。 –

2

一つはpandasです。データフレームを作成して連結することができます。

import pandas as pd 

df1 = pd.read_csv('file1.csv') 
df2 = pd.read_csv('file2.csv') 

df3 = pd.concat([df2, df1], axis=1) 
df3.to_csv('file3.csv', index=False) 

データのイラスト:

file1.csv      file2.csv 
     a,b,c,d     e,f,g,h 
     10,10,10,10    110,110,110,110 
     20,20,20,20    220,220,220,220 
     30,30,30,30    330,330,330,330 
file3.csv 
     e,f,g,h,a,b,c,d 
     110,110,110,110,10,10,10,10 
     220,220,220,220,20,20,20,20 
     330,330,330,330,30,30,30,30 
0
import glob 
import pandas as pd 


df = pd.concat(list(map(pd.read_csv, glob.glob("./*.csv"))), axis=1) 
df.to_csv('file_merged.csv', index=False) 
+0

私はupvoteあなたに十分なrepuationポイントを得ることができるように私の質問upvoteしてください。評判の数が少ないため、私はあなたの答えをupvoteすることができません。 –

関連する問題