#python #python-3.x #csv #delimiter #write
#python #python-3.x #csv #разделитель
Вопрос:
Я хочу записать строки, содержащие точки с запятой, в CSV.
Это то, что у меня есть:
name = ["Peter;Parker"]
file = open("Test.csv", "a", newline='')
writer = csv.writer(file, delimiter=',')
writer.writerow(name)
Итак, проблема в том, что я хочу полное имя строки в столбце 1, но на самом деле точка с запятой разделяет часть до и после на столбец 1 и столбец 2
Комментарии:
1. Вы видите такое поведение в электронной таблице? Некоторые приложения для работы с электронными таблицами будут использовать различные разделители столбцов, иногда настраиваемые при открытии файла.
2. @snakecharmerb Да в электронной таблице, так вы говорите, что проблема не в стороне вывода Python, а в самой программе csv-файла?
3. Да, возможно. Похоже, что ваш файл представляет собой csv с одним столбцом, поэтому, если программа электронной таблицы находит потенциальный разделитель внутри столбца, она предполагает, что это разделитель столбцов. Это можно настроить в диалоговом окне импорта. Например, вот диалоговое окно импорта для libreoffice calc: imgur.com/a/7zvvTK7
Ответ №1:
Итак, комментарий от @snakecharmerb был правильным. В моем случае я пытался открыть файл csv с помощью Excel, а Excel имеет точку с запятой в качестве разделителя по умолчанию.
Вместо двойного щелчка по файлу csv для открытия Excel вы можете проверить правильность исходного текста, отредактировав файл с помощью блокнота. Если вы хотите открыть его с помощью Excel, вам нужно загрузить пустой файл Excel и перейти к Data и import из Text. Теперь загрузите файл csv, и вас спросят, какой разделитель вы хотите использовать, нет, вы можете отменить выбор точки с запятой и выбрать «нет» или просто ,