我有一个行列表,如
共有10列,但csv使用tabula生成了9列
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)
答案 0 :(得分:0)
您可以先将分隔线拆分为,
。
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(','))
答案 1 :(得分:0)
我希望这是你想要的,也要确保最后一行有\ n才能正常工作,你也可以添加一个if语句来检查最后一个字符是\n
。
with open("t.csv",'r') as myfile ,open ('out.csv','w') as outputfile:
for line in myfile:
outputfile.write(line[:-2]+"\n")
编辑:最后,您可以将结果写入旧文件