Избегайте запятых при записи строки в CSV - PullRequest
0 голосов
/ 08 апреля 2019

Мне нужно добавить строку, содержащую запятую, в файл CSV, используя Python.Некоторые говорят, что заключив строку в двойные кавычки, вы можете отделить их запятыми.Это не работает.Как мне написать эту строку, чтобы запятые не распознавались как разделители?

string = "WORD;WORD 45,90;WORD 45,90;END;"
with open('doc.csv') as f:
    prepended = string + '\n' + f.read()
with open('doc.csv', 'w') as f:
    f.write(prepended)

1 Ответ

1 голос
/ 08 апреля 2019

Итак, как вы указали, вы обычно можете заключить строку в кавычки, как показано ниже.Система, которая читает эти файлы, не распознает этот синтаксис?Если вы используете модуль Python csv, он будет обрабатывать правильное экранирование:

with open('output.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(myIterable, quoting=csv.QUOTE_ALL)

Строки в кавычках будут выглядеть следующим образом:

"string1","string 2, with, commas"

Обратите внимание, если в вашей строке есть символ кавычкиэто будет записано как "" (две кавычки подряд):

"string1","string 2, with, commas, and "" a quote"
...