У меня есть файл Excel, который имеет некоторые испанские символы(Тильды и т. д.) что мне нужно преобразовать в файл CSV для использования в качестве файла импорта. Однако, когда я сохраняю как CSV, он искажает "специальные" испанские символы, которые не являются символами ASCII. Кажется, что это также происходит с левыми и правыми кавычками и длинными тире, которые, как представляется, исходят от исходного пользователя, создающего файл Excel в Mac.
поскольку CSV - это просто текстовый файл, я уверен, что он может обрабатывать кодировку UTF8, поэтому я предполагая, что это ограничение Excel, но я ищу способ получить из Excel в CSV и сохранить символы, отличные от ASCII.
Примечание: будьте осторожны с конфиденциальными данными с Google листов.
после сохранения в CSV под Excel в командной строке ставим:
Iconv -f cp1250 -t utf-8 file-encoded-cp1250.csv > file-encoded-utf8.csv
(Не забудьте заменить cp1250 вашей кодировкой).
работает быстро и отлично подходит для больших файлов, таких как база данных почтовых кодов, которые не могут быть импортированы в GoogleDocs (предел 400.000 ячеек).
предполагая среду Windows, сохраните и работайте с файлом, как обычно, в Excel, но затем откройте сохраненный файл Excel в Gnome Gnumeric (бесплатно). Сохраните таблицу Gnome Gnumeric как CSV, которая-для меня в любом случае-сохраняет ее как UTF-8 CSV.
простой способ сделать это: скачать open office (), загрузите электронную таблицу и откройте файл excel (.xls или.xlsx). Затем просто сохраните его как текстовый CSV-файл, и откроется окно с просьбой сохранить текущий формат или сохранить как.Формат ODF. выберите "Сохранить текущий формат" и в новом окне выберите вариант, который работает лучше для вас, в соответствии с языком, на котором написан ваш файл. Для испанского языка выберите Западная Европа (Windows-1252/ WinLatin 1) и файл работает только штраф. Если выбрать Unicode (UTF-8), он не будет работать с испанским персонажей.
Я также столкнулся с той же проблемой, но для этого есть простое решение.
Он работает отлично, и создается файл csv, который можно импортировать в любое программное обеспечение. Я импортировал этот csv-файл в свою базу данных SQLITE, и он отлично работает со всеми символами unicode.
Я написал небольшой скрипт 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(), "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 + "
Файлы и документы, созданные на компьютере, всегда имеют свою кодировку. Часто случается так, что при обмене файлами или скачивании их из интернета кодировка, в которой они созданы, не читается нашим компьютером. Причины этому могут быть разные - как отсутствие необходимой кодировки в программе, которой мы хотим открыть файл, так и просто отсутствие некоторых компонентов программы (дополнительного пакета шрифтов, например).
Ниже рассмотрим, как поменять кодировку нечитаемого файла или документа в разных программах.
Рассмотрим процедуру изменения кодировки на примере Word 2010
Если пройденная процедура не помогла отобразить документ, можно попробовать поменять шрифт. Иногда документ может отображаться в виде «квадратиков» или других знаков, если в программе нет соответствующего шрифта.
Рассмотрим процедуру изменения кодировки для Excel 93-2004 и 2007:
Дополнительно читайте статью
ВКонтакте Facebook Одноклассники
С переходом ко все новым версиям Windows острота проблемы существования множества кодировок русского языка почти сошла на нет
С потребностью менять кодировку текста часто сталкиваются пользователи, работающие браузерах, текстовых редакторах и процессорах. Тем не менее, и при работе в табличном процессоре Excel такая необходимость тоже может возникнуть, ведь эта программа обрабатывает не только цифры, но и текст. Давайте разберемся, как изменить кодировку в Экселе.
Кодировка текста – эта набор электронных цифровых выражений, которые преобразуются в понятные для пользователя символы. Существует много видов кодировки, у каждого из которых имеются свои правила и язык. Умение программы распознавать конкретный язык и переводить его на понятные для обычного человека знаки (буквы, цифры, другие символы) определяет, сможет ли приложение работать с конкретным текстом или нет. Среди популярных текстовых кодировок следует выделить такие:
Последнее наименование является самым распространенным среди кодировок в мире, так как считается своего рода универсальным стандартом.
Чаще всего, программа сама распознаёт кодировку и автоматически переключается на неё, но в отдельных случаях пользователю нужно указать приложению её вид. Только тогда оно сможет корректно работать с кодированными символами.
Наибольшее количество проблем с расшифровкой кодировки у программы Excel встречается при попытке открытия файлов CSV или экспорте файлов txt. Часто, вместо обычных букв при открытии этих файлов через Эксель, мы можем наблюдать непонятные символы, так называемые «кракозябры». В этих случаях пользователю нужно совершить определенные манипуляции для того, чтобы программа начала корректно отображать данные. Существует несколько способов решения данной проблемы.
К сожалению, полноценного инструмента, который позволял бы быстро изменять кодировку в любом типе текстов у Эксель нет. Поэтому приходится в этих целях использовать многошаговые решения или прибегать к помощи сторонних приложений. Одним из самых надежных способов является использование текстового редактора Notepad++ .
Несмотря на то, что данный способ основан на использовании стороннего программного обеспечения, он является одним из самых простых вариантов для перекодировки содержимого файлов под Эксель.
Кроме того, совершить преобразование можно и с помощью встроенных инструментов программы, а именно Мастера текстов. Как ни странно, использование данного инструмента несколько сложнее, чем применение сторонней программы, описанной в предыдущем методе.
Бывает и обратная ситуация, когда файл нужно не открыть с корректным отображением данных, а сохранить в установленной кодировке. В Экселе можно выполнить и эту задачу.
Документ сохранится на жестком диске или съемном носителе в той кодировке, которую вы определили сами. Но нужно учесть, что теперь всегда документы, сохраненные в Excel, будут сохраняться в данной кодировке. Для того, чтобы изменить это, придется опять заходить в окно «Параметры веб-документа» и менять настройки.
Существует и другой путь к изменению настроек кодировки сохраненного текста.
На самом деле, вопрос не столь уж и тривиален, как может показаться на первый взгляд. Формат CSV , как следует из его названия, подразумевает использование в качестве разделителя символ запятой (,) . Однако, многие программы и сервисы допускают использованием и других символов. К таковым можно отнести и MS Excel, особенно если речь идёт о русифицированной его версии. В данной статье я хочу привести решение проблемы с открытием CSV-файла экспорта из Google инструмента для веб-мастеров в MS Excel. Впрочем, тема актуально и для других вариантов.
Многие из нас используют Google инструмент для веб-мастеров только для добавления сайта. Это неправильно, здесь есть масса полезной информации, например список поисковых запросов, по которым пользователи находят и заходят на сайт. Смотрите отчет: Поисковый трафик > Поисковые запросы - предварительно выбрав нужный сайт в списке.
Здесь же есть и экспорта данных в CSV-формате, с возможностью его открытия в Google Таблицы (онлайн аналог Excel) . Ищите кнопку «Загрузить эту таблицу ». К слову, количество отображаемых запросов на странице не влияет на полноту экспортируемых данных.
Проблема в том, что в CSV-файле используется разделитель запятой и кодировка UTF-8. Так что даже в Google Таблицы, вместо кириллицы, вы получите только набор вопросов.
Другими словами, нам нужно изменить кодировку на ANSI. А для открытия файла CSV в Excel заменить и разделитель запятой (,) на символ точки с запятой (;) .
Проще всего решить проблему с кодировкой . Для этого вы можете использовать любой текстовый редактор с этой функцией, например Notepad++. Его вы можете скачать бесплатно на официальном сайте: unotepad-plus-plus.org . Далее запускаем редактор и открываем в нём наш CSV-файл, а потом кликаем пункт меню «Кодировки » и меняем на нужную, т.е. пункт «Преобразовать в ANSI ».
У меня на картинке показан обратный процесс: преобразования из ANSI в UTF-8 - но, думаю, вы это и сами заметилии, а принцип тот же.
Теперь, что касается разделителя запятой . По сути, для Google Таблиц что-то менять не надо. Да и в англоязычной версии MS Excel это может прокатить, проверьте. Тем не менее, если нужна замена, то здесь следует учесть, что просто заменить запятую (,) на символ точки с запятой (;) не получится, т.к. в файле могут быть значения, содержащие этот символ. Они обычно помещены в кавычки. Например:
значение,1,"значение, с запятой",
По идее здесь должна помочь настройка самой операционной системы Windows: Пуск > Панель управления > Язык и региональные стандарты . На вкладке «Форматы» кликаем кнопку «Изменить этот формат… » В открывшемся окне, на вкладке «Числа» замените «Разделитель элементов списка » на нужный, т.е. символ точки с запятой (;) меняем на запятую (,) .
Правда, у меня это не сработало. Да и менять настройки операционной системы, как по мне, дело не благодатное. Тем не менее, я решил указать этот вариант решения проблемы, т.к. на большинстве специализированных форумов ссылаются именно на него.
Увы, но какой-то дополнительной обработки файлов с расширением.csv в MS Excel я не нашел. Тем не менее, есть возможность обработки, но только в том случае, если сменить расширение файла, например, на.txt . Так что меняем расширение файла и открываем его в Excel.
Появится окно «Мастер текстов (импорт)». Здесь вы можете выбрать формат исходных данных, начальную строку импорта и кодировку файла (нам нужна 1251: Cyrillic) . К слову, почему нужно было менять кодировку, когда её можно выбрать в мастере? Потому, что кодировки UTF-8, по крайней мере у меня, здесь нету. Кликаем кнопку «Далее ».
На следующем шаге мы можем выбрать символ-разделитель, причем несколько. Ставим галочку «запятая » и убираем галочку «знак табуляции ». Здесь же можно выбрать и символ ограничителя строк. Это тот, что используется для значений, в которых присутствуют спецсимволы (двойные кавычки, запятая, точка с запятой, новая строка и т.д.) . Вариант с двойной кавычкой, в моём случае, это то, что надо. Обратите внимание на поле «Образец разбора данных», данные стали таблицей. Кликаем кнопку «Далее ».
На последнем шаге можно указать формат данных столбцов, правда выбор здесь не велик: общий (по умолчанию) , текстовый, дата и пропустить столбец. Последний вариант представляется мне наиболее интересным, т.к. позволяет сразу исключить ненужные столбцы. Просто выберите соответствующий столбец и кликните для него вариант «пропустить столбец ». Кликаем кнопку «Готово ».
Excel сформирует нужную нам таблицу, где мы можем задать нужную ширину столбцов и формат ячеек, но это уже совсем другая история. Отмечу лишь, что есть проблема с распознанием тех же процентов.
Впрочем, все выше изложенные проблемы решает простой онлайн сервис Normalization CSV . Он позволяет менять кодировку и символ разделителя. Правда существует ограничение в 64 000 байтов (сколько это в Кб?) для загружаемого файла, но CSV-файлы обычно весят не очень много, должно хватить. Результат обработки выводится как обычный текстовый файл, его можно сохранить с расширением.csv .
К слову, скрипт преобразовавает значение процентов, например: 95 % - в нужное значение для столбца «проценты» в Excel, т.е. делится на 100 и получаем число с плавающей запяток, например: 0,95 . Если нужны ещё какие-то преобразования: пишите, попробуем доработать.
Ну, а если предложенный онлайн сервис вас не устраивает, вы всегда можете воспользоваться выше приведённой инструкцией.
Некоторые онлайн сервисы предоставляют возможность экспорта данных в просто и удобном CSV-формате. Как следует из названия, подразумевает использование в качестве разделителя символ запятой (,) . Однако, многие приложения трактуют этот формат несколько своевольно, что приводит к закономерным проблемам. К тому же сейчас всё более популярна кодировка UTF-8, в то время как Excel или Google Таблицы используют ANSI.
Решить проблему с кодировкой поможет, к примеру, Notepad++, а для того, чтобы разобраться с разделителем, достаточно изменить расширение файла на.txt и воспользоваться мастером текстов в Excel. Впрочем, все эти задачи способен решить бесплатный онлайн сервис Normalization CSV , правда стоит учесть его ограничение на объём загружаемого файла. На этом у меня всё. Спасибо за внимание. Удачи!
в 19:44 | Изменить сообщение | 16 комментариев |
CSV (Comma-Separated Values - значения, разделенные запятыми) - это текстовый формат, предназначенный для представления табличных данных. Например, он используется для экспорта данных, если их объемы достаточно велики. Однако при этом нередко возникает проблема: созданный csv-файл может не показывать символы русского алфавита или искажать их. Однако эта проблема легко решаема.
Суть проблемы состоит в следующем. Если версия Excel, в которой работает пользователь, не англоязычная, то она может ожидать другой кодировки CSV-файла, создаваемого для экспорта данных. А именно: кодировки того языка, к которому относится используемая версия Excel. При этом те символы, которые не входят в стандартный набор ASCII, могут искажаться.
Проблема решается следующим несложным путем:
1. Запустите Excel.
2. Откройте страницу “Data → From text” (в локализованом Excel, элементы меню могут называться иначе).
3. Откройте свой CSV файл и в окне “Text Wizard” установите необходимый разделитель и кодировку (use “UTF-8”).
Инструкция по решению той же проблемы для русскоязычного Excel 2007
1. Создайте новый документ (книгу) в Excel
2. В меню «Данные / Получить внешние данные» выберите импортирование «Из текста». В окне выбора файла выберите ваш CSV файл. Excel автоматически запустит Мастер текстов (импорт).
3. В настройке «Формат файла» выберите “Юникод (UTF-8)”:
5. Затем нажмите кнопку “Готово”. При правильном выборе кодировки проблем с адекватным отображением кириллических символов быть не должно.
Наш сайт оказался для вас полезным? |