【发布时间】:2017-08-03 06:06:38
【问题描述】:
我是 python 新手。这是我的 csv 文件:
data;data;name surname; data; data
data;data;name surname; data; data
data;data;name surname; data; data
data;data;name surname; data; data
我想做的是插入“;”像这样制作姓名和姓氏2列:
data;data;name;surname; data; data
data;data;name;surname; data; data
data;data;name;surname; data; data
data;data;name;surname; data; data
但困难的是有时会有不止一个空格,就像这样:
data;data;name surname surname2; data
data;data;name surname surname2 surname3; data
我只是想替换第一个空格,而不是全部这样:
data;data;name;surname surname2; data
data;data;name;surname surname2 surname3; data
这是我的代码,但它替换了每个空格:
def modify_rows():
with open("result2.csv","rb") as source:
rdr= csv.reader(source, delimiter=';')
with open("result3.csv","wb") as result:
wtr= csv.writer(result,delimiter=';')
for r in rdr:
rowname = r[3].replace(' ', ';')
wtr.writerow((r[0],r[1],rowname,r[2]))
希望我能找到帮助。
【问题讨论】:
-
你能给出一些列和行中预期文件大小的方向吗?如果我们谈论的是大文件,答案可能会有所不同
-
试试
repython库模块 -
我不同意,找到第一个空格比正则表达式容易得多。