在python上没有逗号的情况下将列值合并到一列中(没有pandas)

时间:2018-05-31 16:23:03

标签: python csv merge

关于如何在python上使用逗号合并不同列值的问题......

我的任务就像这样。

一个大的csv文件数据有以下行

s,0,6,8,9,2,-,3,6,2,8,7,1,0,n,.,c,s,v
s,0,5,9,6,0,-,3,6,7,0,1,6,0,n,.,c,s,v
s,1,9,0,5,5,-,3,6,1,5,5,8,6,n,.,c,s,v
s,2,8,0,7,9,-,3,2,5,1,8,2,7,n,.,c,s,v
s,0,0,5,6,5,-,3,3,4,0,5,7,0,n,.,c,s,v
s,3,0,3,4,8,-,3,5,9,1,2,2,6,n,.,c,s,v
s,0,3,8,8,9,-,3,7,3,1,0,2,5,n,.,c,s,v

我希望看起来像这样:

06892
05960
19055
28079
00565
30348
03889

我尝试使用代码但没有成功。

import csv, os

with open ('/Desktop/case.csv','r') as h:
    reader = csv.reader(h)
    for row in reader:
        k = row[1:6]
        print(k)

当我这样做时,会出现以下结果。

0,6,8,9,2
0,5,9,6,0
1,9,0,5,5
2,8,0,7,9
0,0,5,6,5
3,0,3,4,8
0,3,8,8,9

如何使其看起来像我想要的输出,即没有逗号?

1 个答案:

答案 0 :(得分:0)

使用join

from io import StringIO
import csv
txtfile = StringIO("""s,0,6,8,9,2,-,3,6,2,8,7,1,0,n,.,c,s,v
s,0,5,9,6,0,-,3,6,7,0,1,6,0,n,.,c,s,v
s,1,9,0,5,5,-,3,6,1,5,5,8,6,n,.,c,s,v
s,2,8,0,7,9,-,3,2,5,1,8,2,7,n,.,c,s,v
s,0,0,5,6,5,-,3,3,4,0,5,7,0,n,.,c,s,v
s,3,0,3,4,8,-,3,5,9,1,2,2,6,n,.,c,s,v
s,0,3,8,8,9,-,3,7,3,1,0,2,5,n,.,c,s,v""")

reader = csv.reader(txtfile) 
for row in reader: 
        k = row[1:6] 
        print(''.join(k))

输出:

06892
05960
19055
28079
00565
30348
03889