Это обходное решение для моей конкретной проблемы UTF-8, относится к значениям, разделенным табуляциями, а не к CSV, а также включает проприетарное программное обеспечение *. Следовательно, это может быть неприменимо. Однако я отправляю его на случай, если кто-либо найдет его полезным или сможет адаптировать его к своей проблеме.
Я работаю с базой данных UTF-8 MySQL, которая содержит одно поле с текстом UTF-8 из-за греческих символов. После выполнения SQL-запроса я часто вставляю с моего терминала Mac в текстовый редактор BBEdit, делаю небольшую очистку, а затем импортирую в Excel для распространения и презентации. Прочитав ответ от @MitraArdon, следующее позволяет мне сохранить UTF-8:
Установите текстовый документ BBEdit как Unicode (UTF-8 с BOM) † с помощью выбора опций в то внизу страницы.
Запуск Excel 2016 и импорт текстового файла (в виде разделительного текста - я использую трубы из таблиц MySQL в качестве разделителей). Сохранить как .xlsx.
Нет шага 3 (как говорилось ранее в объявлении).
Для обратного процесса я не могу сделать обычный текст «Сохранить как текст с табуляцией», поскольку греческие буквы будут заменены символами подчеркивания. Поскольку документ находится в кодировке UTF-16 необходимо:
Выберите «Сохранить как UTF-16 Unicode Text (.txt)»
Открыть в BBEdit и изменить формат UTF-8 (обычно «Без спецификации»).
Затем я могу загрузить обратно в свою базу данных MySQL UTF-8, если это необходимо.
Сноски
* На самом деле урезывание бесплатный текстовый редактор Barebones’, TextWrangler, должен также работать, поскольку он имеет возможность сохранить как UTF-8 BOM.
† Или преобразовать в спецификацию UTF-16.
Митра, спасибо, это полезно. Похоже, что ваш ответ был отрезан. Вы хотите это сделать? –
Спасибо, что указали это Prentiss.То, что я говорил, не похоже на то, чтобы построить CSV, который можно импортировать, не зная заранее, что он собирается в Excel. Однако после написания этого комментария в субботу я обнаружил, что есть трюк для написания строки «BOM» в верхней части файла. Это хорошо документировано, например, на http://chase-seibert.github.io/blog/2014/07/30/international-csv-files-python.html. –
Спасибо, Митра. В статье Chase Seibert, как представляется, рассматривается случай создания CSV-файлов с нуля в Python. Я не думаю, что вы знаете простое решение для взятия существующего файла CSV и вставки спецификации? Хотя Seibert добавляет кое-что, что заставляет меня задаться вопросом, добавляет ли вложение спецификацию с Excel для Mac в любом случае: «После нескольких исследований выяснилось, что Mac Excel просто не поддерживает UTF-8 вообще. там." –