Python предоставляет csv.DictWriter для вывода CSV в файл.
Какой самый простой способ вывести CSV в строку или в стандартный вывод?
Например, для двумерного массива:
[["a b c", "1,2,3"],
["i \"comma-heart\" you", "i \",heart\" u, too"]]
вернуть следующую строку:
"a b c, \"1, 2, 3\"\n\"i \"\"comma-heart\"\" you\", \"i \"\",heart\"\" u, too\""
который при печати будет выглядеть так:
a b c, "1,2,3"
"i ""heart"" you", "i "",heart"" u, too"
(Я принимаю слово csv.DictWriter, что на самом деле это канонический способ вывода этого массива как CSV. Excel действительно правильно его анализирует, а Mathematica - нет. * страница википедии на CSV кажется, что Mathematica не права.)
Один из способов - записать временный файл с помощью csv.DictWriter и прочитать его обратно с помощью csv.DictReader.
Какой способ лучше?
TSV вместо CSV
Мне также кажется, что я не предан CSV.
TSV избавит вас от головной боли с разделителями и кавычками:
просто замените вкладки пробелами в записях 2D-массива, а затем просто разбросайте вкладки и символы новой строки, и все готово.
Давайте включим в ответы решения как для TSV, так и для CSV, чтобы сделать это максимально полезным для будущих пользователей.