Python CSV:从valu中删除引号

2024-05-28 20:48:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个过程,一个CSV文件可以下载,编辑,然后再次上传。下载时,CSV文件的格式正确,没有换行双引号

1, someval, someval2

当我在电子表格中打开CSV,编辑并保存时,它会在字符串周围添加双引号

1, "someEditVal", "someval2"

我想这只是电子表格的作用(在本例中是openoffice)。我想我的上传脚本删除包装双引号。我不能删除所有引号,只是因为正文包含它们,我也不想只是检查双引号的第一个和最后一个字符。

我几乎肯定python中的CSV库知道如何处理这个问题,但不知道如何使用它。。。

编辑 当我在字典中使用这些值时,结果如下

{'header':'"value"'}

谢谢


Tags: 文件csv字符串脚本编辑过程格式引号
2条回答

对于Python 3:

import csv
writer = csv.writer(open("query_result.csv", "wt"), quoting=csv.QUOTE_NONE, escapechar='\\')
reader = csv.reader(open("out.txt", "rt"), skipinitialspace=True)
writer.writerows(reader)

原始答案在Python 3下给出了这个错误。详细信息请参见:csv.Error: iterator should return strings, not bytes

Traceback (most recent call last): File "remove_quotes.py", line 11, in writer.writerows(reader) _csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)

感谢所有帮助我的人,但我明白了。在指定读卡器时,可以定义quotechar

csv.reader(upload_file, delimiter=',', quotechar='"')

这处理字符串的换行引号。

相关问题 更多 >

    热门问题