Запись пустого пространства в поля CSV в Python? - PullRequest
1 голос
/ 20 мая 2010

Когда я пытаюсь написать поле, содержащее пробел, оно разделяется на несколько полей в пространстве.Что вызывает это?Это сводит меня с ума.Спасибо

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) для второго.

Ответы [ 3 ]

4 голосов
/ 20 мая 2010

Надпись правильная, я думаю; проблема была бы в чтении. Вы никогда не говорили, что вы используете, чтобы открыть такой сгенерированный CSV. Это может быть разделение полей на запятую или пробел.

ОБНОВЛЕНИЕ: Попробуйте, посмотрите, поможет ли это:

w = csv.writer(data, quoting=csv.QUOTE_ALL)
3 голосов
/ 20 мая 2010

Не воспроизводится здесь:

>>> 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, чтобы выйти из интерпретатора, где я это сделал, для supend интерпретатора и получить приглашение оболочки)? Какая точная среда и версия Python?

1 голос
/ 20 мая 2010

Для меня на Python 2.7 это дает:

word1,word2
word 1,word2

как и ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...