Как определить кодировку csv файла
Как проверить кодировку CSV файла
У меня есть файл CSV, и я хочу понять его кодировку. Есть ли опция меню в Microsoft Excel, которая может помочь мне обнаружить его
или мне нужно использовать языки программирования, такие как C# или PHP, чтобы вывести его.
4 ответов
вы можете просто открыть файл с помощью блокнота, а затем goto File - > Save As. Рядом с кнопкой Сохранить появится раскрывающийся список кодировки, и текущая кодировка файла будет выбрана там.
в системах Linux, вы можете использовать . Это даст правильную кодировку
пример:
file blah.csv
выход:
blah.csv: ISO-8859 text, with very long lines
9
автор: Jitender Kumar
использовать chardet https://github.com/chardet/chardet (документация коротка и легка для чтения).
установите python, затем pip install chardet, наконец, используйте команду командной строки.
Я тестировал под GB2312, и это довольно точно. (Убедитесь, что у вас есть хотя бы несколько символов, образец только с 1 символом может легко потерпеть неудачу).
file
не является надежным, как вы можете видеть.
Если вы используете Python, просто используйте функцию print () для проверки кодировки csv-файла. Например:
with open('file_name.csv') as f: print(f)
вывод примерно такой:
<_io.TextIOWrapper name='file_name.csv' mode='r' encoding='utf8'>
Как проверить кодировку файла CSV
У меня есть файл CSV, и я хочу понять его кодировку. Есть ли в Microsoft Excel пункт меню, который может помочь мне его обнаружить
OR нужно ли мне использовать языки программирования, такие как C# или PHP, чтобы вывести его.
csv encodingПоделиться Источник Vipul 12 мая 2016 в 04:07
4 ответа
- как получить кодировку файла csv в c#.net?
Мне нужно получить тип кодировки файла csv и как я могу сделать это в c#.net.. Мой код, чтобы избежать сопоставления порядка байтов (BMO), добавленный во время кодировки UTF8, выглядит следующим образом: public static void SaveAsUTF8WithoutByteOrderMark(string fileName, Encoding encoding) { if...
- ActiveAdmin, CSV импорт, изменить кодировку на cp1251
Я использую ActiveAdmin. ActiveAdmin обеспечивает загрузку файлов CSV на экране индекса для каждого ресурса. Как изменить кодировку файла CSV на стандарт cp1251 ?
36
Вы можете просто открыть файл с помощью блокнота, а затем goto File - > Save As. Рядом с кнопкой Сохранить появится выпадающее меню кодировка, в котором будет выбрана текущая кодировка файла.
Поделиться CamW 12 мая 2016 в 04:38
21
В системах Linux можно использовать команду file . Это даст правильную кодировку
Образец:
file blah.csv
Выход:
blah.csv: ISO-8859 text, with very long lines
Поделиться Jitender Kumar 24 апреля 2018 в 17:04
5
Если вы используете Python, просто используйте функцию print(), чтобы проверить кодировку файла csv. Например:
with open('file_name.csv') as f: print(f)
На выходе получается нечто вроде этого:
<_io.TextIOWrapper name='file_name.csv' mode='r' encoding='utf8'>
Поделиться Alineat 04 октября 2018 в 14:08
- Как проверить кодировку файла csv на Mac?
У меня возникли проблемы с обработкой нескольких файлов из-за его кодировки. Я не могу узнать, что такое правильная кодировка, поэтому я могу сделать Python/Pandas обрабатывать его соответственно. Я еду на Mac, и я не могу узнать, как узнать кодировку файла csv. Может кто-нибудь помочь?
- как получить кодировку файла csv?
Возможный Дубликат : Акцентированные символы не правильно импортированы с помощью массовой вставки Программа .net, работающая в моей системе, предоставляет мне файл csv. Я хотел бы знать кодировку этого файла. Файл csv содержит é , ä , å , æ символов, но отображается как �(UTF8-с BOM). Есть ли...
2
Используйте chardet https://github.com/chardet/chardet (документация коротка и легко читается).
Установите python, затем pip установите chardet, наконец используйте команду командной строки.
Я тестировал под GB2312, и это довольно точно. (Убедитесь, что у вас есть хотя бы несколько символов, пример только с 1 символом может легко провалиться).
file
не является надежным, как вы можете видеть.
Поделиться Rick 22 мая 2018 в 09:10
Похожие вопросы:
Перед чтением файла, я должен проверить кодировку ANSI?
Im reding некоторые файлы csv. Файлы действительно просты, потому что всегда есть только ; в качестве разделителя и нет , или что-то в этом роде. Таким образом, его можно прочитать файл, строка...
PHP как изменить кодировку текста файла CSV
У меня есть файл CSV, который мне нужно изменить кодировку. Я хочу быть в состоянии сделать это с помощью PHP. Я знаю, что есть функция mb_convert_encoding, но это только для строк. Есть ли функция,...
yii отправить кодировку файла csv
Я работаю с приложением yii-powered. Моя цель-написать действие контроллера, которое экспортирует некоторые данные из файла mongodb в файл csv с использованием Yii 1.1: csvexport и...
как получить кодировку файла csv в c#.net?
Мне нужно получить тип кодировки файла csv и как я могу сделать это в c#.net.. Мой код, чтобы избежать сопоставления порядка байтов (BMO), добавленный во время кодировки UTF8, выглядит следующим...
ActiveAdmin, CSV импорт, изменить кодировку на cp1251
Я использую ActiveAdmin. ActiveAdmin обеспечивает загрузку файлов CSV на экране индекса для каждого ресурса. Как изменить кодировку файла CSV на стандарт cp1251 ?
Как проверить кодировку файла csv на Mac?
У меня возникли проблемы с обработкой нескольких файлов из-за его кодировки. Я не могу узнать, что такое правильная кодировка, поэтому я могу сделать Python/Pandas обрабатывать его соответственно. Я...
как получить кодировку файла csv?
Возможный Дубликат : Акцентированные символы не правильно импортированы с помощью массовой вставки Программа .net, работающая в моей системе, предоставляет мне файл csv. Я хотел бы знать кодировку...
Как проверить кодировку файла xml в php?
Я хочу проверить кодировку файла xml - это UTF-8. Как проверить кодировку этого файла xml в php?
Как получить CSV кодировку файла UTF-8 в C#.Net?
Я хочу сделать кодировку CSV файла UTF-8. Теперь мой файл CSV не может отображать японские шрифты. Я хочу, чтобы код C# решил эту проблему.
Получить кодировку файла большого csv
Мне нужно определить кодировку символов содержимого a .csv файл. Каждый фрагмент кода, который я видел, использует file_get_contents() , однако я не могу использовать его, потому что файл слишком...
Как правильно открыть данные CSV-файла в Excel
CSV – популярное расширение файлов, которые используются, в основном, для обмена данными между различными компьютерными программами. Чаще всего необходимости в открытии и редактировании таких документов нет. Однако в некоторых случаях перед пользователями может встать такая задача. Программа Excel позволяет это сделать, но в отличие от стандартных файлов в формате XLS и XLSX, простое открытие документа двойным щелчком мыши не всегда дает качественный результат, что может выражаться в некорректном отображении информации. Давайте посмотрим, каким образом можно открыть файлы с расширением CSV в Экселе.
Открываем CSV-файлы
Для начала давайте разберемся, что из себя представляют документы в данном формате.
CSV – аббревиатура, которая расшифровывается как “Comma-Separated Values” (на русском языке означает “значения, разделенные запятыми”).
Как следует из названия, в таких документах используются разделители:
- запятая – в англоязычных версиях;
- точка с запятой – в русскоязычных версиях программы.
Во время открытия документа в Excel основная задача (проблема) заключается в выборе способа кодировки, примененного при сохранении файла. Если будет выбрана не та кодировка, скорее всего, пользователь увидит множество нечитаемых символов, и полезность информации будет сведена к минимуму. Помимо этого, ключевое значение имеет используемый разделитель. Например, если документ был сохранен в англоязычной версии, а затем его пытаются открыть в русскоязычной, скорее всего, качество отображаемой информации пострадает. Причина, как мы ранее отметили, заключается в том, что в разных версиях используются разные разделители. Давайте посмотрим, как избежать этих проблем и как правильно открывать файлы CSV.
Прежде, чем приступить к более сложным методам, давайте рассмотрим самый простой. Он применим только в тех случаях, когда файл был создан/сохранен и открывается в одной и той же версии программы, а значит, проблем с кодировкой и разделителями быть не должно. Здесь возможно два варианта, опишем их ниже.
Excel установлена как программа по умолчанию для открытия CSV-файлов
Если это так, открыть документ можно как и любой другой файл – достаточно просто дважды щелкнуть по нему.
Для открытия CSV-фалов назначена другая программа или не назначена вовсе
Алгоритм действия в таких ситуациях следующий (на примере Windows 10):
- Щелкаем правой кнопкой мыши по файлу и в открывшемся контекстном меню останавливаемся на команде “Открыть с помощью”.
- Во вспомогательном меню система может сразу предложить программу Excel. В этом случае кликаем по ней, в результате чего файл откроется (как и при двойном щелчке по нему). Если нужной нам программы нет в списке, кликаем по пункту “Выбрать другое приложение”.
- Появится окно, в котором мы можем выбрать программу (чтобы раскрыть весь список доступных вариантов, требуется нажать кнопку “Еще приложения”), с помощью которой требуется открыть документ. Ищем то, что нам нужно и жмем OK. Чтобы назначить Excel приложением по умолчанию для данного типа файлов, предварительно ставим соответствующую галочку.
- В некоторых случаях, когда и в этом окошке не удается найти Эксель, щелкаем по кнопке “Найти другое приложение на этом компьютере” в конце списка.
- На экране отобразится окно, в котором мы переходим к расположению программы на ПК, отмечаем исполняемый файл с расширением EXE и жмем кнопку “Открыть”.
Независимо от того, какой из описанных выше способов был выбран, результатом будет открытие CSV-файла. Как мы упомянули выше, корректно отображаться содержимое будет только при соответствии кодировки и разделителей.
В остальных случаях может показываться нечто подобное:
Поэтому описанный метод подходит не всегда, и мы переходим к следующим.
Метод 2: применяем Мастер текстов
Воспользуемся интегрированным в программу инструментом – Мастером текстов:
- Открыв программу и создав новый лист, чтобы получить доступ ко всем функциям и инструментам рабочей среды, переключаемся во вкладку “Данные”, где щелкаем по кнопке “Получение внешних данных”. Среди раскрывшихся вариантов выбираем “Из текста”.
- Откроется окно, в котором нам нужно перейти к расположению файла, который требуется импортировать. Отметив его жмем кнопку “Импорт”.
- Появится Мастер текстов. Проверяем, чтобы была выбрана опция “с разделителями” для параметра “Формат данных”. Выбор формата зависит от кодировки, которая была использована при его сохранении. Среди самых популярных форматов можно отметить “Кириллицу (DOS)” и “Юникод (UTF-8)”. Понять, что сделан правильный выбор можно, ориентируясь на предварительный просмотр содержимого в нижней части окна. В нашем случае подходит “Юникод (UTF-8)”. Остальные параметры чаще всего не требует настройки, поэтому жмем копку “Далее”.
- Следующим шагом определяемся с символом, который служит в качестве разделителя. Так как наш документ был создан/сохранен в русскоязычной версии программы, выбираем “точку с запятой”. Здесь у нас, как и в случае с выбором кодировки, есть возможность попробовать различные варианты, оценивая результат в области предпросмотра (можно, в том числе, указать свой собственный символ, выбрав опцию “другой”). Задав требуемые настройки снова нажимаем кнопку “Далее”.
- В последнем окне, чаще всего, вносить какие-либо изменения в стандартные настройки не нужно. Но если требуется изменить формат какого-то столбца, сначала кликаем по нему в нижней части окна (поле “Образец”), после чего выбираем подходящий вариант. По готовности жмем “Готово”.
- Появится окошко, в котором выбираем способ импорта данных (на имеющемся или на новом листе) и жмем OK.
- в первом случае следует указать адрес ячейки (или оставить значение по умолчанию), которая будет являться самым верхним левым элементом импортируемого содержимого. Сделать это можно вручную, прописав координаты с помощью клавиатуры, или просто щелкнув по нужной ячейке на листе (курсор при этом должен находится в соответствующем поле для ввода информации).
- при выборе варианта импорта на новом листе координаты указывать не нужно.
- Все готово, нам удалось импортировать данные CSV-файла. В отличие от первого метода, мы можем заметить, что была соблюдена ширина столбцов с учетом содержимого ячеек.
И последний метод, которым можно воспользоваться заключается в следующем:
- Запустив программу выбираем пункт “Отрыть”.Если программа уже ранее была открыта и ведется работа на определенном листе, переходим в меню “Файл”.Щелкаем по команде “Открыть” в списк команд.
- Жмем кнопку “Обзор”, чтобы перейти к окну Проводника.
- Выбираем формат “Все файлы”, переходим к месту хранения нашего документа, отмечаем его и щелкаем кнопку “Открыть”.
- На экране появится уже знакомый нам Мастер импорта текстов. Далее руководствуемся шагами, описанными в Методе 2.
Заключение
Таким образом, несмотря на кажущуюся сложность, программа Эксель вполне позволяет открывать и работать с файлами в формате CSV. Главное – определиться с методом реализации. Если при обычном открытии документа (двойным щелчком мыши или через контекстное меню) его содержимое содержит непонятные символы, можно воспользоваться Мастером текста, который позволяет выбрать подходящую кодировку и знак разделителя, что напрямую влияет на корректность отображаемой информации.
Как открыть CSV-файл в Excel 2016 в кодировке UTF-8
Как открыть CSV-файл в Excel 2016 – Dataviz.by в кодировке UTF-8https://dataviz.by/kak-otkryt-csv-fayl-v-excel-2016
Пошаговое иллюстрированное руководство.
Если открыть файл в формате CSV в программе Excel 2016, обычно вместо таблицы с данными получаешь какие-то непонятные строки текста:
Здесь сразу две проблемы: вместо кириллических символов Эксель подсунул что-то нечитаемое, а данные в каждой строке поместил в одну ячейку, разделив их запятыми.
Стоит ли беспокоиться и почему это со мной происходит?
Не переживайте, с вашими данными всё в порядке и ничего необратимого не случилось.
Превращение в кашу осмысленного теста, набранного кириллицей, происходит из-за неверной кодировки. По умолчанию Эксель использует кодировку 1251: Кириллица для Windows , но есть и другие форматы. Так, в нашем случае текст закодирован по стандарту UTF-8 . Это распространённая кодировка, поэтому и проблема чтения кириллицы встречается часто.
Данные слиплись по строкам тоже не случайно. CSV — Comma-Separated Values — текстовый формат, данные в котором разделены запятыми. Что, в общем-то, можно увидеть и на скриншоте.
Что сделать, чтобы получить таблицу
Для этого в Экселе предусмотрена команда Данные → Получить данные → Из файла → Из текстового/CSV-файла:
После выбора нужного файла и подтверждения (кнопка «Открыть») появляется диалоговое окно с предварительным просмотром и некоторыми настройками.
Кириллица всё ещё страдает, но данные уже оформлены в таблицу:
Поменять кодировку можно выбрав подходящую (в нашем случае это Юникод UTF-8) в выпадающем списке «Источник файла».
Обратите внимание, что есть возможность выбрать и «Разделитель». Это полезно для других текстовых форматов хранения данных. По умолчанию в качестве разделителя выбрана Запятая, что нам подходит.
Теперь всё в полном порядке: кириллические символы читаемы, а данные — в таблице. Можно жать на кнопку «Загрузить».
После этого диалоговое окно закрывается, а в Книге Эксель появляется отдельный Лист с данными из CSV-файла в привычном табличном виде:
И весь процесс в одной гифке:
Если у вас более ранняя версия Майкрософт Офиса, посмотрите пошаговое руководство открытия CSV-файла в Экселе 2013. Там, кстати, есть и альтернативный вариант — воспользоваться открытым пакетом LibreOffice.
Какая кодировка правильно открывает CSV-файлы в Excel как на Mac, так и на Windows?
Кодировки Excel
Я нашел кодировку
WINDOWS-1252
наименее неприятной при работе с Excel. Так как его в основном Microsofts собственный проприетарный набор символов, можно предположить, что он будет работать как на Mac, так и на Windows версии MS-Excel. Обе версии, по крайней мере, включают соответствующий селектор "происхождение файла" или "кодирование файла", который правильно считывает данные.В зависимости от вашей системы и используемых инструментов, эта кодировка также может быть названа
CP1252
,ANSI
,Windows (ANSI)
,MS-ANSI
или ПростоWindows
, среди прочих вариантов.Эта кодировка является надмножеством
ISO-8859-1
(он жеLATIN1
и другие), так что вы можете вернуться кISO-8859-1
, Если вы не можете использоватьWINDOWS-1252
по какой-то причине. Имейте в виду, чтоISO-8859-1
не хватает некоторых символов изWINDOWS-1252
, как показано здесь:Обратите внимание, что знак евроотсутствует . Эту таблицу можно найти по адресу Alan Wood.| Char | ANSI | Unicode | ANSI Hex | Unicode Hex | HTML entity | Unicode Name | Unicode Range | | € | 128 | 8364 | 0x80 | U+20AC | € | euro sign | Currency Symbols | | ‚ | 130 | 8218 | 0x82 | U+201A | ‚ | single low-9 quotation mark | General Punctuation | | ƒ | 131 | 402 | 0x83 | U+0192 | ƒ | Latin small letter f with hook | Latin Extended-B | | „ | 132 | 8222 | 0x84 | U+201E | „ | double low-9 quotation mark | General Punctuation | | … | 133 | 8230 | 0x85 | U+2026 | … | horizontal ellipsis | General Punctuation | | † | 134 | 8224 | 0x86 | U+2020 | † | dagger | General Punctuation | | ‡ | 135 | 8225 | 0x87 | U+2021 | ‡ | double dagger | General Punctuation | | ˆ | 136 | 710 | 0x88 | U+02C6 | ˆ | modifier letter circumflex accent | Spacing Modifier Letters | | ‰ | 137 | 8240 | 0x89 | U+2030 | ‰ | per mille sign | General Punctuation | | Š | 138 | 352 | 0x8A | U+0160 | Š | Latin capital letter S with caron | Latin Extended-A | | ‹ | 139 | 8249 | 0x8B | U+2039 | ‹ | single left-pointing angle quotation mark | General Punctuation | | Œ | 140 | 338 | 0x8C | U+0152 | Œ | Latin capital ligature OE | Latin Extended-A | | Ž | 142 | 381 | 0x8E | U+017D | | Latin capital letter Z with caron | Latin Extended-A | | ‘ | 145 | 8216 | 0x91 | U+2018 | ‘ | left single quotation mark | General Punctuation | | ’ | 146 | 8217 | 0x92 | U+2019 | ’ | right single quotation mark | General Punctuation | | “ | 147 | 8220 | 0x93 | U+201C | “ | left double quotation mark | General Punctuation | | ” | 148 | 8221 | 0x94 | U+201D | ” | right double quotation mark | General Punctuation | | • | 149 | 8226 | 0x95 | U+2022 | • | bullet | General Punctuation | | – | 150 | 8211 | 0x96 | U+2013 | – | en dash | General Punctuation | | — | 151 | 8212 | 0x97 | U+2014 | — | em dash | General Punctuation | | ˜ | 152 | 732 | 0x98 | U+02DC | ˜ | small tilde | Spacing Modifier Letters | | ™ | 153 | 8482 | 0x99 | U+2122 | ™ | trade mark sign | Letterlike Symbols | | š | 154 | 353 | 0x9A | U+0161 | š | Latin small letter s with caron | Latin Extended-A | | › | 155 | 8250 | 0x9B | U+203A | › | single right-pointing angle quotation mark | General Punctuation | | œ | 156 | 339 | 0x9C | U+0153 | œ | Latin small ligature oe | Latin Extended-A | | ž | 158 | 382 | 0x9E | U+017E | | Latin small letter z with caron | Latin Extended-A | | Ÿ | 159 | 376 | 0x9F | U+0178 | Ÿ | Latin capital letter Y with diaeresis | Latin Extended-A |
Преобразование
Преобразование выполняется по-разному в каждом инструменте и языке. Однако предположим, что вы имейте файлquery_result.csv
, который, как вы знаете, закодированUTF-8
. Преобразуйте его вWINDOWS-1252
, используяiconv
:iconv -f UTF-8 -t WINDOWS-1252 query_result.csv > query_result-win.csv
Excel в CSV с кодировкой UTF8
У меня есть файл Excel, который имеет некоторые испанские символы(Тильды и т. д.) что мне нужно преобразовать в файл CSV для использования в качестве файла импорта. Однако, когда я сохраняю как CSV, он искажает "специальные" испанские символы, которые не являются символами ASCII. Кажется, что это также происходит с левыми и правыми кавычками и длинными тире, которые, как представляется, исходят от исходного пользователя, создающего файл Excel в Mac.
поскольку CSV - это просто текстовый файл, я уверен, что он может обрабатывать кодировку UTF8, поэтому я предполагая, что это ограничение Excel, но я ищу способ получить из Excel в CSV и сохранить символы, отличные от ASCII.
30 ответов
простой обходной путь-использовать электронную таблицу Google. Вставьте (значения, только если у вас есть сложные формулы) или импортируйте лист, а затем загрузите CSV. Я просто попробовал несколько персонажей, и это работает довольно хорошо.
Примечание: Google листы имеют ограничения при импорте. См.здесь.
Примечание: будьте осторожны с конфиденциальными данными с Google листов.
EDIT:другая альтернатива - в основном они используют макрос VB или addins для принудительного сохранения как В utf8. Я не пробовал ни одного из этих решений, но они звучат разумно.
369
автор: nevets1219
Я нашел OpenOfficeприложение электронной таблицы, Calc, действительно хорошо обрабатывает данные CSV.
в "Сохранить как..."диалог, нажмите "Параметры формата", чтобы получить различные кодировки для CSV. LibreOffice работает так же, как AFAIK.
сохраните лист Excel как " Unicode Text (.формат txt.") Хорошей новостью является то, что все международные символы находятся в UTF16 (обратите внимание, не в UTF8). Однако новое"*.файл " txt " имеет разделители табуляции, а не запятые, и поэтому не является истинным CSV.
(необязательно) если вы не можете использовать файл с разделителями табуляции для импорта, используйте свой любимый текстовый редактор и замените символы табуляции запятыми ",".
импортировать *.txt файл в целевое приложение. Убедитесь, что он может принять формат UTF16.
Если UTF-16 был правильно реализован с поддержкой кодовых точек, отличных от BMP, то вы можете конвертировать файл UTF-16 в UTF-8 без потери информации. Я предоставляю вам найти ваш любимый способ сделать это.
Я использую эту процедуру для импорта данных из Excel в Moodle.
Я знаю, что это старый вопрос, но я случайно наткнулся на этот вопрос, борясь с теми же проблемами, что и OP.
не найдя ни одного из предлагаемых решений жизнеспособным вариантом, я решил выяснить, есть ли способ сделать это только с помощью Excel.
к счастью, я обнаружил, что проблема потерянного символа происходит только (в моем случае) при сохранении из формата xlsx в формат csv. Сначала я попытался сохранить файл xlsx в xls, а затем в csv. Это на самом деле работал.
пожалуйста, дайте ему попробовать и посмотреть, если это работает для вас. Удача.
можно использовать iconv команда под Unix (также доступна в Windows как libiconv).
после сохранения в CSV под Excel в командной строке ставим:
iconv -f cp1250 -t utf-8 file-encoded-cp1250.csv > file-encoded-utf8.csv
(Не забудьте заменить cp1250 вашей кодировкой).
работает быстро и отлично подходит для больших файлов, таких как база данных почтовых кодов, которые не могут быть импортированы в GoogleDocs (предел 400.000 ячеек).
единственный "простой способ" сделать это заключается в следующем. Во-первых, поймите, что есть разница между тем, что отображается и что скрывается в Excel .CSV-файл.
(1) откройте файл Excel, где у вас есть информация (.XLS, а также .файлы XLSX)
(2) в Excel выберите " CSV (с разделителями-запятыми) (*.csv) как тип файла и сохранить как этот тип.
(3) в блокноте (найдено в разделе "программы", а затем аксессуары в Start меню), откройте сохраненный .CSV-файл в блокноте
(4) затем выберите - > Сохранить как..и в нижней части окна" сохранить как "есть поле выбора, помеченное как"кодировка". Выберите UTF-8 (Не используйте ANSI или вы потеряете все акценты и т. д.). После выбора UTF-8 сохраните файл в несколько отличающемся от исходного имени.
этот файл находится в UTF-8 и сохраняет все символы и акценты и может быть импортирован, например, в MySQL и другую базу данных программы.
этот ответ взят из этот форум.
еще один, который я нашел полезным: "цифры " позволяет настройки кодирования при сохранении в формате CSV.
вы можете сделать это на современной машине Windows без стороннего программного обеспечения. Этот метод надежен и будет обрабатывать данные, которые включают кавычки, символы табуляции, символы CJK и т. д.
1. Сохранить из Excel
в Excel сохраните данные в file.txt
С помощью типа Unicode Text (*.txt)
.
2. Запустить PowerShell
Run powershell
из меню "Пуск".
3. Загрузить файл в В PowerShell
$data = Import-Csv C:\path\to\file.txt -Delimiter "`t" -Encoding BigEndianUnicode
4. Сохраните данные как CSV
$data | Export-Csv file.csv -Encoding UTF8 -NoTypeInformation
18
автор: Don Cruickshank
" nevets1219 "прав насчет Google docs, однако если вы просто" импортируете " файл, он часто не конвертирует его в UTF-8.
но если вы импортируете CSV в существующую электронную таблицу Google, она преобразуется в UTF-8.
вот рецепт:
- на главном экране документов (или диска) Нажмите кнопку" Создать "и выберите"электронная таблица"
- в меню " Файл "выберите"Импорт"
- Нажмите "Выбрать Файл"
- выбрать "Заменить электронную таблицу"
- выбрать любой символ, который вы используете в качестве разделителя
- Нажмите Кнопку "Импорт"
- в меню "Файл" выберите "Загрузить как" - > CSV (текущий лист)
полученный файл будет в UTF-8
для тех, кто ищет полностью программное (или, по крайней мере, серверное) решение, я имел большой успех, используя инструмент xls2csv catdoc.
установить конверотора catdoc, преобразующего файлы:
apt-get install catdoc
выполните преобразования:
xls2csv -d utf-8 file.xls > file-utf-8.csv
это очень быстро.
обратите внимание, что важно, чтобы вы включили -d utf-8
флаг, иначе он будет кодировать вывод по умолчанию cp1252
кодировка, и вы рискуете потерять информацию.
обратите внимание, что xls2csv
также работает только с .xls
файлы, он не работает с .xlsx
файлы.
Как насчет использования Powershell.
Get-Content 'C:\my.csv' | Out-File 'C:\my_utf8.csv' -Encoding UTF8
7
автор: Michael Schau
Как ни смешно, самый простой способ сохранить мою таблицу 180MB в файл 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.
3
автор: spring_chicken
простой способ сделать это: скачать open office (здесь), загрузите электронную таблицу и откройте файл excel (.xls
или .xlsx
). Затем просто сохраните его как текстовый CSV-файл, и откроется окно с просьбой сохранить текущий формат или сохранить как.Формат ODF. выберите "Сохранить текущий формат" и в новом окне выберите вариант, который работает лучше для вас, в соответствии с языком, на котором написан ваш файл. Для испанского языка выберите Западная Европа (Windows-1252/ WinLatin 1
) и файл работает только штраф. Если выбрать Unicode (UTF-8
), он не будет работать с испанским персонажей.
сохранить файл xls (файл Excel) в виде текста Unicode=>файл будет сохранен в текстовом формате (.txt)
изменить формат .txt to .csv (переименуйте файл из XYX.txt-XYX.csv
в Excel 2016 у нас есть опция экспорта CSV, посвященная формату UTF-8.
3
автор: Nolmë Informatique
Я также столкнулся с той же проблемой, но для этого есть простое решение.
- откройте файл xlsx в Excel 2016 или выше.
- В "Сохранить как" выберите эту опцию: "(CSV UTF-8 (с разделителями запятыми)*.csv)"
Он работает отлично, и создается файл csv, который можно импортировать в любое программное обеспечение. Я импортировал этот csv-файл в свою базу данных SQLITE, и он отлично работает со всеми символами unicode.
второй вариант "nevets1219" - открыть CSV-файл в Notepad++ и выполнить преобразование в ANSI.
выбираем в верхнем меню : Кодировка - > преобразовать в Ansi
2
автор: SequenceDigitale.com
самый простой способ: нет необходимости открывать office и Google docs
- сохраните файл как "текстовый файл Unicode";
- теперь у вас есть текстовый файл unicode
- откройте его с помощью "блокнота" и "сохранить как", выбрав "utf-8" или другая кодовая страница, которую вы хотите
- переименовать расширение файла из "txt"в " csv"
Не открывайте его с Ms-office в любом случае!!! теперь у вас есть CSV с разделителями табуляции файл.
Я написал небольшой скрипт Python, который может экспортировать листы в UTF-8.
вам просто нужно предоставить файл Excel в качестве первого параметра, а затем листы, которые вы хотите экспортировать. Если листы не предоставлены, сценарий экспортирует все листы, присутствующие в файле Excel.
#!/usr/bin/env python # export data sheets from xlsx to csv from openpyxl import load_workbook import csv from os import sys reload(sys) sys.setdefaultencoding('utf-8') def get_all_sheets(excel_file): sheets = [] workbook = load_workbook(excel_file,use_iterators=True,data_only=True) all_worksheets = workbook.get_sheet_names() for worksheet_name in all_worksheets: sheets.append(worksheet_name) return sheets def csv_from_excel(excel_file, sheets): workbook = load_workbook(excel_file,use_iterators=True,data_only=True) for worksheet_name in sheets: print("Export " + worksheet_name + " ...") try: worksheet = workbook.get_sheet_by_name(worksheet_name) except KeyError: print("Could not find " + worksheet_name) sys.exit(1) your_csv_file = open(''.join([worksheet_name,'.csv']), 'wb') wr = csv.writer(your_csv_file, quoting=csv.QUOTE_ALL) for row in worksheet.iter_rows(): lrow = [] for cell in row: lrow.append(cell.value) wr.writerow(lrow) print(" ... done") your_csv_file.close() if not 2 <= len(sys.argv) <= 3: print("Call with " + sys.argv[0] + " <xlxs file> [comma separated list of sheets to export]") sys.exit(1) else: sheets = [] if len(sys.argv) == 3: sheets = list(sys.argv[2].split(',')) else: sheets = get_all_sheets(sys.argv[1]) assert(sheets != None and len(sheets) > 0) csv_from_excel(sys.argv[1], sheets)
Excel обычно сохраняет csv-файл как кодировку ANSI вместо utf8.
один из вариантов исправления файла - использовать Notepad или Notepad++:
- открыть .csv с блокнотом или Notepad++.
- скопируйте содержимое в буфер обмена компьютера.
- удалить содержимое из файла.
- измените кодировку файла на utf8.
- вставить содержимое обратно из буфера обмена.
- сохранить файл.
2
автор: Jason Williams
Encoding - > Convert to Ansi будет кодировать его в ANSI / UNICODE. Utf8 является подмножеством Unicode. Возможно, в ANSI будет закодировано правильно, но здесь мы говорим о UTF8, @SequenceDigitale.
есть более быстрые способы, такие как экспорт в csv ( с разделителями-запятыми), а затем открытие этого csv с помощью Notepad++ ( бесплатно), а затем кодирование > конвертировать в UTF8. Но только если вам нужно сделать это один раз за файл. Если вам нужно изменить и экспортировать fequently, то лучше всего LibreOffice или GDocs решение.
Microsoft Excel имеет возможность экспортировать электронную таблицу с помощью кодировки Unicode. Смотрите следующий скриншот.
открыть .csv отлично с notepad++. если вы видите, что ваша кодировка хороша (вы видите все символы, как они должны быть), нажмите кодировку , затем преобразуйте в ANSI еще - узнайте, какова ваша текущая кодировка
другое решение-открыть файл winword и сохранить его как txt, а затем снова открыть его excel, и он будет работать ISA
1
автор: Essam Altantawi
Сохранить Диалог > Кнопка Инструменты > Веб-Параметры > Вкладка Кодировка
наткнулся на ту же проблему и погуглил этот пост. Ничего из вышеперечисленного на меня не подействовало. Наконец я преобразовал свой Unicode .xls to .xml (выберите Сохранить как ... XML Spreadsheet 2003), и он произвел правильный символ. Затем я написал код для анализа xml и извлек содержимое для моего использования.
1
автор: Silent Sojourner
другой способ-открыть файл CSV UTF-8 в блокноте, где он будет отображаться правильно. Затем замените все "," на вкладки. Вставить все это в новый файл Excel.
У меня такая же проблема и встретить этой добавить, и он отлично работает в excel 2013 рядом с excel 2007 и 2010, о которых упоминается.
0
автор: academic.user
Как проверить кодировку файла CSV
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
python - pd.read_csv не уверен, как определить кодировку для моих файлов csv
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант
Excel в CSV с кодировкой UTF8
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
Как читать данные csv с неизвестной кодировкой в R
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
python - неверная кодировка выходного файла CSV UTF-8
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
- Реклама Обратитесь к разработчикам и технологам со всего мира
- О компании
Загрузка…
- Авторизоваться зарегистрироваться
-
текущий c
Библиотека Ruby CSV, читаемая из файла: определение кодировки исходного файла, которая должна быть предоставлена для метода foreach
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
- Реклама Обратитесь к разработчикам и технологам со всего мира