匹配带引号的csv中未转义的引号

sun*_*nce 5 python regex csv regex-lookarounds

我看过几篇标题相似的Stack Overflow帖子,但没有一个被接受的答案对我有用。

我有一个CSV文件,其中数据的每个“单元”均以逗号分隔并加引号(包括数字)。每行以换行符结尾。

一些文本“单元格”中带有引号,我想使用正则表达式来查找它们,以便我可以正确地对它们进行转义。

示例行:

"0","0.23432","234.232342","data here dsfsd hfsdf","3/1/2016",,"etc","E 60"","AD"8"\n
Run Code Online (Sandbox Code Playgroud)

我想匹配只是"E 60"和中AD"8,而不是任何其他的"

我可以用来执行此操作的(最好是Python友好的)正则表达式是什么?

dog*_*uch 3

编辑:使用@sundance 的正则表达式进行更新,以避免行首和换行符。

您可以尝试仅替换不在逗号、行首或换行符旁边的引号:

import re

newline = re.sub(r'(?<!^)(?<!,)"(?!,|$)', '', line)
Run Code Online (Sandbox Code Playgroud)