正则表达式:替换字符串之间的逗号

2024-10-01 04:56:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表

总共10列,但是csv是由9列使用tabula生成的

ELECSERV FINALED(字符串值可能会更改)这两个列生成为一个,我想用两个不同的列分隔,用逗号分隔,然后我删除了行末尾的逗号。你知道吗

D12-1234,041-260-32,714 EL DFRO ST,ELECSERV FINALED,0,$0.00,10/15/2009 ,CONSTRUCTION,Electrical service upgrade from 100 amp to 200 amp (same location),
D12-1235,037-071-07,127 S HORN DR,ELECSERV ISSUED,0,$0.00,10/22/2009 ,"AGANS & ELLIOTT, INC, A&E ELECTRIC",Service upgrade (same location),

输出应如下所示:

D12-1234,041-260-32,714 EL DFRO ST,ELECSERV,FINALED,0,$0.00,10/15/2009 ,CONSTRUCTION,Electrical service upgrade from 100 amp to 200 amp (same location)
D12-1235,037-071-07,127 S HORN DR,ELECSERV,ISSUED,0,$0.00,10/22/2009 ,"AGANS & ELLIOTT, INC, A&E ELECTRIC",Service upgrade (same location)

Tags: fromservicelocationelupgradeelectricalampsame
2条回答

我希望这是您想要的,还要确保最后一行有一个\n可以正常工作,您还可以添加if语句来检查最后一个char是否为\n。你知道吗

with open("t.csv",'r') as myfile ,open ('out.csv','w') as outputfile:
  for line in myfile:
    outputfile.write(line[:-2]+"\n")

编辑:最后可以将结果写入旧文件

您可以首先用分隔符,分割行。你知道吗

cols = line.split(',')

现在更改结果数组中的第4个元素,并用,替换

cols[3] = string.replace(cols[3],' ',',')

使用rstrip连接数组以形成字符串并删除最后一个逗号

','.join(cols).rstrip(',')

编辑1:

请参考下面这行,它对我有用。你知道吗

line = 'D12-1234,041-260-32,714 EL DFRO ST,ELECSERV FINALED,0,$0.00,10/15/2009 ,CONSTRUCTION,Electrical service upgrade from 100 amp to 200 amp (same location),'
cols = line.split(',')
cols[3] = str.replace(cols[3],' ',',')
print(','.join(cols).rstrip(','))

相关问题 更多 >