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

标签 python regex csv

<分区>

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

with open(path), 'wb') as myfile:
  writer = csv.writer(myfile)

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

newline = var1 + " " + var2 + " " + var3

我想要一个类似 value1 value2 value3 的结果,但它却给了我 "value1 value2 value3"。我也尝试过它之间没有空格,但所做的只是在不删除引号的情况下弄乱了格式。我还尝试将 quoting = CSV_NOQUOTE (或类似的东西)添加到编写器声明中,但这导致了关于缺少转义字符的错误,直到我添加了 \n,并且即使那样它也没有摆脱引号。我一直在 SO 上搜索页面大约一个小时,试图找到一些东西,但我发现没有任何效果。任何人都可以提供任何建议吗?谢谢!

编辑:为了配合标题,在这一点上,我对此感到非常沮丧,以至于我可以使用一种解决方法来摆脱正则表达式的引号,而不是完全阻止它们形成。我只是对 Python 的正则表达式知之甚少,我很少使用它,而且我不确定如何使用它执行基本上相当于 sed s/命令的操作。

最佳答案

您没有显示实际使用 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])

产生

~/coding$ cat out.dat
3.14 2.1728 Fred

关于Python - 用于从 CSV 文件中的整行中删除引号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20010664/

相关文章:

regex - 从 R 中的模型公式中删除包装在函数中的变量

Javascript 正则表达式匹配失败

Python BeautifulSoup 只是读取第一行

csv - 无法在 : file:/var/lib/neo4j/import with Neo4j docker image 加载外部资源

Python/MySQL 错误

c++ - Python - 如何检查弱引用是否仍然可用

python - 如何在 Python 中得到 10**20 + 10**-20 的精确结果?它给了我 1e+20

python - 合并两个数据框,最多取两列

regex - Powershell 将单个字符串与多个正则表达式匹配?

python - python 中的 Json 对象到 CSV