Python - 正则表达式从CSV文件中删除整行的引号

thn*_*tls 1 python regex csv

我在这里看到了很多关于如何从CSV文件中的一行中删除引号的问题,但这不是我的问题.使用类似的东西

with open(path), 'wb') as myfile:
  writer = csv.writer(myfile)
Run Code Online (Sandbox Code Playgroud)

我需要创建由3个变量的值组成的行.这导致了这样一条线:

newline = var1 + " " + var2 + " " + var3
Run Code Online (Sandbox Code Playgroud)

我想要一个结果value1 value2 value3,但它给了我"value1 value2 value3".我尝试过它之间没有空格,所有这些都搞砸了格式而没有删除引号.我也尝试quoting = CSV_NOQUOTE在编写器声明中添加(或者类似的东西),但是在我添加之前,这导致了关于丢失escapechars的错误\n,即便如此它也没有删除引号.我一直在搜索这里的页面大约一个小时试图找到一些东西,但我找不到任何东西.有人可以提供任何建议吗?谢谢!

编辑:为了配合标题,此时我对此感到沮丧,我可以通过一种解决方法来摆脱带有正则表达式的引号,而不是阻止它们形成.我只是不太了解Python的正则表达式,我已经非常简单地使用它了,而且我不确定如何基本上用它来做一个sed s /命令.

DSM*_*DSM 6

您没有显示实际用于writer在文件中写入行的行.人们有时犯的一个错误就是假设writerow接受除了可迭代值之外的其他东西.

以下代码(python 2):

import csv
with open("out.dat", "wb") as myfile:
    writer = csv.writer(myfile, delimiter=" ", quoting=csv.QUOTE_NONE)
    var1, var2, var3 = 3.14, 2.1728, "Fred"
    writer.writerow([var1, var2, var3])
Run Code Online (Sandbox Code Playgroud)

产生

~/coding$ cat out.dat
3.14 2.1728 Fred
Run Code Online (Sandbox Code Playgroud)