python用writerow写入包含逗号的一行,自动添加多余双引号

在对CSV文件进行操作的的时候,用writerow写入一行文字,如果这一行文字(字符串)中包含有逗号,则自动在行首和行尾(字符串两头)添加双引号。建议使用write写入。

temp.csv文件第2行包含有逗号

TimeStamp=2019-02-13
1232a,abc
rmUID1
2234
22345

程序代码:

# -*- coding: utf-8 -*-
import csv
from itertools import islice
oldf = open('temp.csv','r',newline='')
newf = open('temp2.csv','w',newline='')
nf = csv.writer(newf,lineterminator='\n')
for line in islice(oldf,0,5):
    listn = []
    line = line.strip('\n')
    listn.append(line)
    print(listn)
    nf.writerow(listn)
oldf.close()
newf.close()

显示:

['TimeStamp=2019-02-13\r']
['1232a,abc\r']
['rmUID1\r']
['2234\r']
['22345']
 

实际在temp2.csv文件中第2行自动添加双引号

TimeStamp=2019-02-13
"1232a,abc "
rmUID1
2234
22345
 

修改后代码:

import csv
from itertools import islice
oldf = open('temp.csv','r',newline='')
newf = open('temp2.csv','w',newline='')
for line in islice(oldf,0,5):
    line = line.strip('\n')
    newf.write(line)
oldf.close()
newf.close()

结果文件:

TimeStamp=2019-02-13
1232a,abc
rmUID1
2234
22345

问题得到解决。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值