在Python中如何在CSV字段中写入空格?

1 投票
3 回答
1621 浏览
提问于 2025-04-15 22:55

当我尝试写一个包含空格的字段时,它会因为空格被分成多个字段。这是为什么呢?这让我很烦。谢谢!

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版本是什么?

撰写回答