2016-02-17 2 views
0

У меня есть код, который выглядит следующим образом:Нежелательные кавычки в CSV файл

with open('Recipe 2.txt', 'w') as fp: 
    a = csv.writer(fp) 
    data = [['VER:3;'], 
      ['Recipe 0;'], 
      ['Last[1,1];'+d+';'], 
    a.writerows(data) 

d определен ранее.

Моя проблема заключается в том, что, когда я пишу эти строки в текстовый файл, я получаю quotationmarks вокруг последней строки, как это:

Recipe 0; 
"Last[1,1];1.5;" 

Как я могу избавиться от quotationmarks на последней строке?

Бест, Jonas

+0

У вас есть недостающее закрытие ']' в конце вашего определения 'data'. Я считаю, вы должны получить синтаксическую ошибку? – Lisa

+2

Без кавычек ваша последняя строка будет неправильно обрабатываться как содержащая два поля со значениями 'Last [1' и' 1]; 1.5; '. – chepner

ответ

1

Я предполагаю, что вы хотите, чтобы ваш файл CSV, чтобы быть как

VER:3 
Recipe 0 
Last[1,1]; <content_of_d> 

ваши данные должны выглядеть примерно так

data = [ 
    ['VER:3'], 
    ['Recipe 0'], 
    ['Last[1,1]', d] 
] 

Где каждый список представляет собой ряд и каждая строка в строке является полем. Я думаю, что эти точки с запятой, которые вы положили, есть разделители, нет необходимости вставлять их, писатель сделает это за вас. Используемый разделитель зависит от того, с каким диалектом вы его настроили.

0

Благодарим за помощь!

Я обнаружил, что это была запятая INSIDE, которая создавала кавычки. Я просто отредактировали от: [ 'Последний [1,1];' + d + ';'], к [ 'Последнее [1];' + d + ';'],

И я избавилась котировок.

Спасибо!