用逗号循环替换空格

时间:2017-06-15 19:49:42

标签: python

如何将包含空格的csv数据转换为逗号?

我的代码

import csv
from pprint import pprint

with open('flare.csv', 'rb') as f:
    reader = str(csv.reader(f))

    for row in reader.splitlines():
        print row

数据

value,id
1 aah
1 aan
3 acc
4 account
1 accounts
1 action
6 ada
3 ade
1 adik
2 admin

目标输出

value,id
1,aah
1,aan
3,acc
4,account
1,accounts
1,action
6,ada
3,ade
1,adik
2,admin

3 个答案:

答案 0 :(得分:3)

使用csv也可以编写列,只需更改分隔符:

import csv

with open('flare.csv', 'rb') as f_in, open("out_flare.csv", "wb") as f_out:
    reader = csv.reader(f_in, delimiter=" ")
    writer = csv.writer(f_out, delimiter=",")
    writer.writerows(reader)

与盲目替换字符相比,这将使其安全,因为在某些情况下,您的CSV条目需要在其周围添加引号。

答案 1 :(得分:2)

您可以为delimiter=' '功能指定reader

reader = csv.reader(f, delimiter=' ')

这里描述https://docs.python.org/2/library/csv.html#csv-fmt-params

答案 2 :(得分:0)

在这里一次一行,你想要做的是:

line = line.split(" ")
line = line.join(",")

然后打印出这一行,它应该解决你的问题。第一部分用空格将行拆分成一个列表,然后第二部分将列表的各个部分连接成一个带有所需逗号的字符串。