У меня есть файл Excel, в котором есть некоторые испанские символы (тильды и т. Д.), Которые мне нужно преобразовать в файл CSV для использования в качестве файла импорта. Однако, когда я делаю Save As CSV, он искажает «специальные» испанские символы, которые не являются символами ASCII. Похоже, что это также происходит с левыми и правыми кавычками и длинными черточками, которые, похоже, исходят от первоначального пользователя, создающего файл Excel в Mac.
Поскольку CSV - это просто текстовый файл, я уверен, что он может обрабатывать кодировку UTF8, поэтому я предполагаю, что это ограничение Excel, но я ищу способ перейти из Excel в CSV и сохранить символы не ASCII неповрежденными.
Ответы:
Простой обходной путь - использовать Google Spreadsheet. Вставьте (значения только при наличии сложных формул) или импортируйте лист, затем загрузите CSV. Я только что попробовал несколько символов, и это работает довольно хорошо.
ПРИМЕЧАНИЕ. Google Sheets имеет ограничения при импорте. Смотри здесь .
ПРИМЕЧАНИЕ. Будьте осторожны с конфиденциальными данными в Google Sheets.
РЕДАКТИРОВАТЬ: Другая альтернатива - в основном они используют макрос VB или надстройки, чтобы принудительно сохранить как UTF8. Я не пробовал ни одно из этих решений, но они звучат разумно.
источник
Я нашел OpenOffice что приложение для работы с электронными таблицами , Calc, действительно хорошо обрабатывает данные CSV.
В диалоговом окне «Сохранить как ...» нажмите «Параметры формата», чтобы получить различные кодировки для CSV. LibreOffice работает так же, как AFAIK.
источник
Сохраните лист Excel как «Текст Unicode (.txt)». Хорошей новостью является то, что все международные символы находятся в UTF16 (обратите внимание, не в UTF8). Однако новый файл "* .txt" разделен символом TAB, не разделен запятыми и, следовательно, не является истинным CSV.
(необязательно) Если вы не можете использовать файл TAB с разделителями для импорта, используйте ваш любимый текстовый редактор и заменяйте символы табуляции запятыми ",".
Импортируйте ваш * .txt файл в целевое приложение. Убедитесь, что он может принять формат UTF16.
Если UTF-16 был правильно реализован с поддержкой кодовых точек, отличных от BMP, вы можете преобразовать файл UTF-16 в UTF-8 без потери информации. Я оставляю это вам, чтобы найти ваш любимый способ сделать это.
Я использую эту процедуру для импорта данных из Excel в Moodle.
источник
;
, затем импортировал txt-файл в phpmyadmin со стандартным «Набор символов файла: utf-8», Формат «CSV». используя LOAD DATA ". Вся кодировка была передана правильно.Я знаю, что это старый вопрос, но я столкнулся с этим вопросом, борясь с теми же проблемами, что и ОП.
Не найдя ни одного из предложенных решений приемлемым вариантом, я решил выяснить, есть ли способ сделать это, просто используя Excel.
К счастью, я обнаружил, что проблема потерянных символов возникает (в моем случае) только при сохранении из формата xlsx в формат csv. Я попытался сохранить файл xlsx сначала в xls, затем в csv. Это действительно сработало.
Пожалуйста, попробуйте и посмотрите, работает ли он для вас. Удачи.
источник
Windows comma separated (CSV)
. Это не работает, если я использую параметры по умолчанию или DOS CSV - оба они заменяют акцентированные символы случайными символами барахла. Испытано для персонажей , включаяé
,è
,â
... Не знаю , если это реально UTF8 , но символы не искажаются.Вы можете использовать команду iconv под Unix (также доступна в Windows как libiconv ).
После сохранения в формате CSV под Excel в командной строке введите:
(не забудьте заменить cp1250 вашей кодировкой).
Работает быстро и отлично подходит для больших файлов, таких как база данных почтовых индексов, которые нельзя импортировать в GoogleDocs (ограничение 400 000 ячеек).
источник
sed
илиtr
перевести с '\ t' на ','Вы можете сделать это на современном компьютере с Windows без стороннего программного обеспечения. Этот метод является надежным, и он будет обрабатывать данные, которые включают в себя запятые в кавычки, символы вкладки в кавычках, символы CJK и т. Д.
1. Сохранить из Excel
В Excel сохраните данные,
file.txt
используя типUnicode Text (*.txt)
.2. Запустите PowerShell
Запустите
powershell
из меню «Пуск».3. Загрузите файл в PowerShell
4. Сохраните данные как CSV
источник
CHARACTER SET utf8mb4
как описано здесь: stackoverflow.com/a/10959780/470749Единственный «легкий» способ сделать это заключается в следующем. Во-первых, поймите, что есть разница между тем, что отображается, и тем, что скрыто в файле .csv Excel.
Этот файл находится в UTF-8 и сохраняет все символы и акценты и может быть импортирован, например, в MySQL и другие программы базы данных.
Этот ответ взят с этого форума .
источник
Еще один, который я нашел полезным: « Числа » позволяют настройки кодирования при сохранении в формате CSV.
источник
«nevets1219» подходит для Google docs, однако, если вы просто «импортируете» файл, он часто не конвертирует его в UTF-8.
Но если вы импортируете CSV в существующую электронную таблицу Google, она конвертируется в UTF-8.
Вот рецепт:
Полученный файл будет в UTF-8
источник
Использование Notepad ++
Это исправит поврежденный файл CSV, сохраненный в Excel, и повторно сохранит его в правильной кодировке.
Excel сохраняет в CP-1252 / Windows-1252. Откройте файл CSV в Notepad ++. Выбрать
затем
Сначала скажите Notepad ++ кодировку, затем конвертируйте. Некоторые из этих других ответов конвертируются без предварительной установки правильной кодировки, еще больше искажая файл. Они превратят то, что должно быть
’
в達
. Если ваш персонаж не вписывается в CP-1252, то он уже был потерян, когда был сохранен как CSV. Используйте другой ответ для этого.источник
.csv
текстовый файл. Этот ответ откроет файл CSV, поврежденный Excel, исправит его, а затем снова сохранит его с правильной кодировкой.В Excel 2016 и более поздних версиях (включая Office 365) есть опция CSV, предназначенная для формата UTF-8.
В Office 365 сделайте Сохранить как; где раньше можно было выбрать CSV (с разделителями-запятыми), теперь один из типов файлов, который вы можете сохранить, как CSV UTF-8 (с разделителями-запятыми) (* .csv)
источник
Для тех, кто ищет полностью программное (или, по крайней мере, серверное) решение, я добился большого успеха, используя инструмент xls2csv от catdoc.
Установите catdoc:
Сделать преобразование:
Это чертовски быстро.
Обратите внимание, что важно включить
-d utf-8
флаг, иначе он будет кодировать выходные данные по умолчаниюcp1252
кодировке , и вы рискуете потерять информацию.Обратите внимание, что
xls2csv
также работает только с.xls
файлами, он не работает с.xlsx
файлами.источник
Как насчет использования Powershell.
источник
Самый простой способ: не нужно Открыть офис и Google Docs
csv
только что переименованный файл и замените все вкладки запятыми. Чтобы сделать это в Блокноте на Win 10, просто выберите одно поле вкладки и нажмитеCtrl+H
. В открывшемся окне введите запятую,
в поле «Заменить» и нажмите «Заменить все». Сохраните ваш файл. Результатом будет CSV-файл UTF-8 с разделителями-запятыми.В любом случае, не открывайте его в MS-Office !!! Теперь у вас есть CSV-файл с разделителями табуляции. Или запятую, если вы применили шаг № 5.
источник
.txt
расширение.csv
файлы, разделенные запятыми, просто сбивают с толку.Как ни странно, самый простой способ сохранить электронную таблицу размером 180 МБ в CSV-файле UTF8 - выбрать ячейки в Excel, скопировать их и вставить содержимое буфера обмена в SublimeText.
источник
Мне не удалось найти решение VBA для этой проблемы в Mac Excel. Казалось, просто нет способа вывести текст UTF-8.
Поэтому мне, наконец, пришлось отказаться от VBA, укусить пулю и выучить AppleScript. Это было не так плохо, как я думал.
Решение описано здесь: http://talesoftech.blogspot.com/2011/05/excel-on-mac-goodbye-vba-hello.html
источник
Предполагая среду Windows, сохраните и поработайте с файлом как обычно в Excel, но затем откройте сохраненный файл Excel в Gnome Gnumeric (бесплатно). Сохраните электронную таблицу Gnome Gnumeric как CSV, которая, в любом случае, для меня, сохранит ее как UTF-8 CSV.
источник
Простой способ сделать это: скачать Open Office ( здесь ), загрузить электронную таблицу и открыть файл Excel (
.xls
или.xlsx
). Затем просто сохраните его как текстовый CSV-файл, и откроется окно с просьбой сохранить текущий формат или сохранить в формате .ODF. выберите «сохранить текущий формат» и в новом окне выберите вариант, который лучше работает для вас, в зависимости от языка, на котором был написан ваш файл. Для испанского языка выберите Western Europe (Windows-1252/ WinLatin 1
), и файл работает просто отлично. Если вы выберете Unicode (UTF-8
), он не будет работать с испанскими символами.источник
Сохранить файл xls (файл Excel) как текст Unicode => файл будет сохранен в текстовом формате (.txt)
Измените формат с .txt на .csv (переименуйте файл из XYX.txt в XYX.csv
источник
Я тоже сталкивался с той же проблемой, но для этого есть простое решение.
Он отлично работает и генерируется CSV-файл, который можно импортировать в любое программное обеспечение. Я импортировал этот CSV-файл в свою базу данных SQLITE, и он отлично работает со всеми неповрежденными символами Юникода.
источник
Наткнулся на ту же проблему и погуглил этот пост. Ничто из вышеперечисленного не помогло мне. Наконец я преобразовал свой Unicode .xls в .xml (выберите «Сохранить как ... XML Spreadsheet 2003»), и он вывел правильный символ. Затем я написал код для разбора xml и извлек содержимое для моего использования.
источник
Я написал небольшой скрипт на Python, который может экспортировать листы в UTF-8.
Вам просто нужно указать файл Excel в качестве первого параметра, а затем листы, которые вы хотите экспортировать. Если вы не предоставите листы, скрипт экспортирует все листы, которые присутствуют в файле Excel.
источник
Excel обычно сохраняет файл csv в кодировке ANSI вместо utf8.
Один из вариантов исправления файла - использовать Блокнот или Блокнот ++:
источник
Второй вариант «nevets1219» - открыть файл CSV в Notepad ++ и выполнить преобразование в ANSI.
Выберите в верхнем меню: Кодировка -> Конвертировать в Анси
источник
Кодировка -> Преобразовать в Ansi закодирует его в ANSI / UNICODE. Utf8 является подмножеством Unicode. Возможно, в ANSI будет закодирован правильно, но здесь речь идет о UTF8, @SequenceDigitale.
Существуют более быстрые способы, такие как экспорт как csv (с разделителями-запятыми), а затем открытие этого csv с помощью Notepad ++ (бесплатно), затем Encoding> Convert to UTF8. Но только если вы должны сделать это один раз для каждого файла. Если вам нужно часто менять и экспортировать, то лучшее решение - LibreOffice или GDocs.
источник
Microsoft Excel имеет возможность экспортировать электронную таблицу с использованием кодировки Unicode. Смотрите следующий скриншот.
источник
открыть .csv нормально с блокнотом ++. если вы видите, что ваша кодировка хороша (вы видите все символы такими, какими они должны быть), нажмите кодировку, затем конвертируйте в ANSI, иначе - узнайте, какая у вас текущая кодировка
источник
другое решение - открыть файл с помощью winword и сохранить его как txt, а затем снова открыть его с помощью Excel, и он будет работать ISA
источник
Диалог сохранения> Кнопка «Инструменты»> «Параметры сети»> вкладка «Кодировка»
источник
У меня та же проблема, и я столкнулся с этой надстройкой, и она отлично работает в Excel 2013 и Excel 2007 и 2010, для которых она упоминается.
источник