繁体   English   中英

在Python中将空白写入CSV字段?

[英]Writing white space to CSV fields in Python?

当我尝试编写一个包含空格的字段时,它会被拆分为该空格中的多个字段。 是什么原因造成的? 它让我发疯。 谢谢

data = open("file.csv", "wb")
w = csv.writer(data)
w.writerow(['word1', 'word2'])
w.writerow(['word 1', 'word2'])
data.close()

对于第一个示例,我将获得2个字段(word1,word2),对于第二个示例,我将获得3(word,1,word2)。

我认为写作是正确的。 问题将出在阅读上。 您从未说过要用来打开这种生成的CSV的内容。 它可能是在逗号或空格上拆分字段。

更新:试试看,看是否有帮助:

w = csv.writer(data, quoting=csv.QUOTE_ALL)

在此不可复制:

>>> 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
$

当您完全执行此操作时(或等效于窗口的control-Z退出解释器,以取代解释器并获得shell提示),您会看到什么? Python的确切环境和版本是什么?

在Python 2.7上对我来说,这提供了:

word1,word2
word 1,word2

如预期的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM