python导出csv有引号_带引号的逗号的CSV文件无法通过Python正确分割

CSV不是标准格式,但如果它们出现在文本内部(例如"text"":""a,b,c,d"),则使用两个""来转义引号是很常见的。 Python的CSV阅读器在这里正在做正确的事情,因为它采用了这种惯例。我不太确定您对输出的期望是什么,但这是我尝试使用非常简单的CSV阅读器,它可能适合您的格式。随意调整它。

raw = [

'"1,2,3" , "4,5,6" , "456,789"',

'"text":"a,b,c,d", "gate":"456,789"',

'1,2, 3,'

]

for line in raw:

i, quoted, row = 0, False, []

for j, c in enumerate(line):

if c == ',' and not quoted:

row.append(line[i:j].strip())

i = j + 1

elif c == '"':

quoted = not quoted

row.append(line[i:j+1].strip())

for i in range(len(row)):

if len(row[i]) >= 2 and row[i][0] == '"' and row[i][-1] == '"':

row[i] = row[i][1:-1] # remove quotation marks

print row输出:

['1,2,3', '4,5,6', '456,789']

['text":"a,b,c,d', 'gate":"456,789']

['1', '2', '3', '']

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值