2 回答

TA贡献1796条经验 获得超7个赞
使用replace功能:
with open("x.csv", "w") as fw:
with open("x.dat", "r") as fr:
for line in fr:
new_line = line.replace("::", ",").replace("F", "2").replace("M", "1")
fw.write(new_line)
使用re模块:
import re
rep = {
"F": "2",
"M": "1",
"::": ",",
}
rep = dict((re.escape(k), v) for k, v in rep.iteritems())
pattern = re.compile("|".join(rep.keys()))
with open("x.csv", "w") as fw:
with open("x.dat", "r") as fr:
for line in fr:
new_line = pattern.sub(lambda m: rep[re.escape(m.group(0))], line)
fw.write(new_line)

TA贡献1825条经验 获得超6个赞
这应该有效:
with open("x.dat") as f:
with open("x.csv", "w") as f1:
for line in f:
m= line.split("::")
if(m[1]=='M'):
m[1]=1
else:
m[1]=2
for ele in m:
f1.write(str(ele)+',')
添加回答
举报