python - 如何在 CSV 字段中将双引号内的双引号替换为空字符?

标签 python csv double-quotes

我有一个 CSV 文件,每个字段都用双引号引起来。但某些字段/字符串本身内部有双引号,我想从该特定字符串中删除它们。

例如 - CSV 字段中的字符串之一是“我的名字是“Rajesh”Kumar”。

现在我想将上面的字符串替换为“My name is Rajesh Kumar”,恢复外面的双引号。

我尝试了下面的代码,但不幸的是它替换了所有双引号。

file_out = csv.writer(open("file", "w"), doublequote=False, escapechar='\\', delimiter=';',quotechar='"')
with open("file", "r") as f:
   content = f.read().replace('"', '')
   reader = csv.reader(StringIO(content), doublequote=False, escapechar='\\', delimiter=';'quotechar='"')
   for row in reader:
      print(row)
      file_out.writerow(row)

最佳答案

您可以替换不包含原始字符串的第一个和最后一个字符的子字符串中的所有引号。

row = "\"My name is \"Rajesh\" Kumar\""
print(row)
row = row[0] + row[1:-1].replace('\"', '') + row[-1]
print(row)

row = "\"My name is \"Rajesh\" Kumar\""
print(row)
row = "\"{}\"".format(row[1:-1].replace('\"', ''))
print(row)

输出:

"My name is "Rajesh" Kumar"
"My name is Rajesh Kumar"

找到另一篇基本上涵盖了所问内容的帖子:Regular expression replace except first and last characters

关于python - 如何在 CSV 字段中将双引号内的双引号替换为空字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60074146/

相关文章:

python - R Markdown 代码折叠不适用于 bash,Python 代码块

Python Discord 在命令后获取多条消息

python - Seaborn PairPlot 的正确对角线 Y 轴

xml - XSLT 新行插入不能按预期与 Hive 一起工作

php - MySQL:csv 中的 INTO OUTFILE 生成无效的 csv 格式

python - 如何将内存值中的字典数据直接写入s3存储桶(如csv文件),而无需写入文件然后上传

python - 在文本中动态双引号 "keys"以在 python 中形成有效的 JSON 字符串

python - pygame.错误 : video system not initialized

c# - c# - 如何在c#中为字符串分配双倒(“)逗号?

java - 在java字符串中添加引号