在Python中如何在CSV字段中写入空格?
当我尝试写一个包含空格的字段时,它会因为空格被分成多个字段。这是为什么呢?这让我很烦。谢谢!
data = open("file.csv", "wb")
w = csv.writer(data)
w.writerow(['word1', 'word2'])
w.writerow(['word 1', 'word2'])
data.close()
在第一个例子中,我会得到两个字段(word1, word2),而在第二个例子中,我会得到三个字段(word, 1, word2)。
3 个回答
1
在我使用Python 2.7的时候,结果是:
word1,word2
word 1,word2
这正是我预期的结果。
4
我觉得写的没问题,问题可能出在读取上。你从来没有说你用什么工具来打开这些生成的CSV文件。可能是因为它在用逗号或空格来分隔字段。
更新:试试这个,看看是否有帮助:
w = csv.writer(data, quoting=csv.QUOTE_ALL)
3
这里无法重现这个问题:
>>> import csv
>>> data = open("file.csv", "wb")
>>> w = csv.writer(data)
>>> w.writerow(['word1', 'word2'])
>>> w.writerow(['word 1', 'word2'])
>>> data.close()
>>>
[1]+ Stopped python2.6
$ cat file.csv
word1,word2
word 1,word2
$
当你完全按照这个步骤操作时(或者在窗口中用控制键-Z退出解释器,这样我就可以暂停解释器并得到一个命令行提示符),你看到的是什么?你使用的具体环境和Python版本是什么?