2014-04-09 101 views
0

可以說我有一個CSV文件,該文件是這樣的:如何連接的CSV行使用Python

A B C D 
1 f g h j 
2 s x c d 
3 c f t y 
4 f u i p 

我希望能夠串聯列行讓我有名單看起來像:

fscf (column A) 
gxfu (column B) 
hcti (column C) 
jdyp (column D) 

我不包括列標題。 我該怎麼做?

編輯:我已經將CSV文件加載到程序中了。

+0

values = selectedColumn(i)* totalWidth – Furtano

回答

1
import csv 
rows = csv.reader(open('foo.csv', 'rU'),delimiter=',') 
#merged_col1 = merged_col2 = merged_col3 = merged_col4 = [] 
headers = True 
''' 
my foo.csv: 
HEADER1,HEADER2,HEADER3,HEADER4 
a,b,c,d 
e,f,g,h 
i,j,k,l 
m,n,o,p 
''' 
merged_col1 = [] 
merged_col2 = [] 
merged_col3 = [] 
merged_col4 = [] 
for row in rows: 
    if headers: #skip headers 
     headers = False 
     continue 
    merged_col1.append(row[0]) 
    merged_col2.append(row[1]) 
    merged_col3.append(row[2]) 
    merged_col4.append(row[3]) 

print ''.join(merged_col1) 
print ''.join(merged_col2) 
print ''.join(merged_col3) 
print ''.join(merged_col4) 


OUTPUT: 
------- 
aeim 
bfjn 
cgko 
dhlp 
+0

這很好,但合併包含標題。如何防止頭文件在合併中? – Glitchezz

+0

@Glitchezz檢查新代碼,它會跳過標題。 –

0

剛剛看過的所有行,而「加入」在一起

with open("input.txt","rb") as myfile: 
    reader = csv.reader(myfile,delimiter=" ") 
    master_row = ["","","",""] 
    for row in reader: 
     master_row = [master_row[col] + row[col] for col in range(0,len(master_row))] 
0
import pandas as pd 
df = pd.read_csv('filename.csv') 
answer = [''.join(df.values[:,i]) for i in range(len(df.columns))] 

如果你做這種數據處理的很多,那麼大熊貓是要改變你的生活。