python - 匹配引用的 csv 中未转义的引号

标签 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

我想匹配 E 60"AD"8 中的 ",但不匹配任何其他 "

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

最佳答案

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

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

import re

newline = re.sub(r'(?<!^)(?<!,)"(?!,|$)', '', line)

关于python - 匹配引用的 csv 中未转义的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43623701/

相关文章:

r - 关于文件上传的更新 Shiny R

linux - 如何将 .CSV 文件中的日期列从 dd/mm/yyyy 转换为 yyyy/mm/dd

python - 错误ArgumentException : JSON must represent an object type from PyZeroMQ server

python - 仅在某些位置替换表示日期的字符串

python - 如何在 Jupyter Notebook 和 Python 中创建交互式绘图

java - 正则表达式处理逗号、双引号、引号

c# - 我在使用包含换行符的正则表达式时遇到了困难

java - 如何在 Java 中搜索键/值对的字符串

python - 如何将 'zoom' 放在 Mandelbrot 集的一部分上?

python - 将邻接矩阵转换为 Cytoscape 的边缘列表(csv 文件)