如何用Python连接CSV行

0 投票
3 回答
4720 浏览
提问于 2025-04-18 02:06

假设我有一个CSV文件,内容大概是这样的:

  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文件加载到程序里了。

3 个回答

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))]
1
import pandas as pd
df = pd.read_csv('filename.csv')
answer = [''.join(df.values[:,i]) for i in range(len(df.columns))]

如果你经常需要处理数据的话,使用pandas这个工具会让你的生活变得更简单。

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

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答