我查看了几篇标题相似的 Stack Overflow 帖子,没有一个被接受的答案对我有用。
我有一个 CSV 文件,其中数据的每个“单元格”都用逗号分隔并用引号括起来(包括数字)。每行以换行符结尾。
一些文本“单元格”中有引号,我想使用正则表达式找到这些,以便我可以正确地转义它们。
示例行:
"0","0.23432","234.232342","data here dsfsd hfsdf","3/1/2016",,"etc","E 60"","AD"8"\n
我想匹配 E 60"
和 AD"8
中的 "
,但不匹配任何其他 "
。
我可以使用什么(最好是 Python 友好的)正则表达式来执行此操作?
最佳答案
编辑:使用来自@sundance 的正则表达式更新以避免行首和换行符。
您可以尝试只替换不在逗号、行首或换行符旁边的引号:
import re
newline = re.sub(r'(?<!^)(?<!,)"(?!,|$)', '', line)
关于python - 匹配引用的 csv 中未转义的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43623701/