Почему R не читает кириллицу в таблицах?
Пытаюсь импортировать таблицу .csv в R studio, выходит ошибка о содержании многобайтной строки, в общем не читает кириллицу, с таблицами где латинские символы — все нормально, собственно как фиксить?
- Вопрос задан более трёх лет назад
- 4720 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2
Илья Кашницкий @ikashnitsky
# to read cyrillic Sys.setlocale("LC_CTYPE", "russian")
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Head of Analytics Dept. at Netpeak
Попробуй использовать агрумент `encoding`, и указать в нём кодировку файла из которого данные читаешь.
read.csv("http://home.ustc.edu.cn/~lanrr/data.csv", encoding = "UTF-8") read.csv("http://home.ustc.edu.cn/~lanrr/data.csv", encoding = "1251")
Ответ написан более трёх лет назад
Нравится 1 1 комментарий
Спасибо, помогло с encoding = «UTF-8»
Когда переводишь таблицу из xlsx в csv (данный этап происходит в Экселе при сохранении файла), нужно выбрать вариант CSV UTR-8. Только тогда код read.csv(«home.ustc.edu.cn/~lanrr/data.csv», encoding = «UTF-8») будет работать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Поисковая оптимизация
- +1 ещё
Важно ли глобально разделять английский и русский текст на сайте для индексации разными поисковиками?
- 1 подписчик
- 17 нояб.
- 41 просмотр
Как в RStudio поменять кодировку

В RStudio кодировка — это способ, с помощью которого символы и символьные последовательности сохраняются и прочитываются. Установленная кодировка может быть причиной проблем при работе с файлами, особенно если они содержат специальные символы или национальные символы, которые не могут быть корректно отображены в текущей кодировке. В таких случаях необходимо изменить кодировку RStudio, чтобы правильно отображать и обрабатывать символы.
В этой статье мы рассмотрим подробную инструкцию о том, как изменить кодировку в RStudio. Мы рассмотрим два основных способа: изменение кодировки всего проекта или изменение кодировки конкретного файла. Выбор способа зависит от вашей конкретной задачи.
Перед тем, как продолжить, важно отметить, что изменение кодировки может повлиять на отображение и работу существующего кода. Поэтому рекомендуется создать резервную копию файлов, с которыми вы работаете, перед изменением кодировки.
Первый шаг: открыть настройки
Для изменения кодировки в RStudio необходимо открыть настройки программы. Следуйте этим шагам, чтобы найти соответствующий раздел:
- Запустите RStudio.
- На верхней панели меню выберите пункт «Сервис».
- В выпадающем меню выберите пункт «Настройки».
После выполнения этих действий откроется окно настроек, в котором вы сможете изменить кодировку RStudio.
Второй шаг: выбрать нужную кодировку
После открытия файла в RStudio вам может понадобиться изменить его кодировку. Кодировка определяет способ представления символов в текстовом файле, и выбор правильной кодировки важен для правильного отображения и работы с текстом.
В RStudio можно изменить кодировку файла двумя способами: через меню или с помощью команды в консоли.
Чтобы изменить кодировку через меню, необходимо выполнить следующие шаги:
- Выберите меню «File» (Файл) в верхней панели инструментов RStudio.
- В выпадающем меню выберите пункт «Reopen with Encoding» (Открыть с указанной кодировкой).
- В открывшемся диалоговом окне выберите нужную кодировку из предоставленного списка.
Если вам необходимо изменить кодировку с помощью команды в консоли RStudio, выполните следующие действия:
- Откройте консоль в RStudio.
- Введите команду readLines(file, encoding = «нужная кодировка») , где file — путь к файлу, а нужная кодировка — кодировка, которую вы хотите применить.
- Нажмите Enter, чтобы выполнить команду и изменить кодировку файла.
После выбора нужной кодировки файл будет открыт с указанной кодировкой, и вы сможете продолжить работу с текстом в RStudio без проблем.
Третий шаг: сохранить изменения
После того, как вы изменили кодировку файла в RStudio, необходимо сохранить изменения, чтобы они применились к файлу.
Чтобы сохранить изменения, следуйте следующим шагам:
- Нажмите на кнопку «Файл» в верхней панели управления RStudio. Откроется выпадающее меню.
- Выберите опцию «Сохранить» или «Сохранить как». В зависимости от того, хотите ли вы сохранить изменения в текущем файле или в новом файле.
- Укажите имя и расположение для сохраняемого файла. Вы можете выбрать существующую директорию или создать новую.
- Нажмите кнопку «Сохранить». Изменения будут сохранены, и файл будет обновлен с новой кодировкой.
После сохранения изменений вы можете закрыть файл или продолжить работу с ним в RStudio.
Важно помнить, что сохранение изменений не изменяет кодировку самого файла, а только сохраняет текущий набор символов в кодировке, которую вы выбрали в RStudio. Если вы хотите изменить кодировку файла без сохранения, вы должны использовать другие инструменты или текстовые редакторы для этой операции.
Вопрос-ответ
Как изменить кодировку файла в RStudio?
Для изменения кодировки файла в RStudio нужно выбрать его в окне «Files» или открыть его с помощью функции `file.choose()`. Затем нужно нажать на кнопку «123» в правом верхнем углу редактора и выбрать нужную кодировку из выпадающего списка. После этого файл будет отображаться в новой кодировке.
Как изменить кодировку консоли в RStudio?
Для изменения кодировки консоли в RStudio нужно воспользоваться командой `Sys.setlocale(category = «LC_ALL», locale = «нужная_кодировка»)`, где вместо «нужная_кодировка» нужно указать нужную кодировку, например «UTF-8» или «Windows-1251». После выполнения этой команды консоль будет отображать текст в выбранной кодировке.
Как изменить кодировку проекта в RStudio?
Для изменения кодировки проекта в RStudio нужно открыть файл `.Rproj`, который находится в корневой папке проекта. В этом файле нужно добавить или изменить строку `Encoding = «нужная_кодировка»`, где вместо «нужная_кодировка» нужно указать нужную кодировку, например «UTF-8» или «Windows-1251». После сохранения изменений проект будет открываться в выбранной кодировке.
Просмотр и Редактирование Объектов
ВЫ ДОЛЖНЫ БЫТЬ ПОЛНОСТЬЮ УВЕРЕНЫ В ТОМ, ЧТО И КУДА ЗАПИСЫВАЕТЕ!
Иначе вы можете полностью утратить ваши данные.
Прежде чем начать что-либо записывать на диск, вы должны Разрешить запись.
Чтобы разрешить запись
| 1 | В главном окне R-Studio выберите пункт Настройки меню Инструменты и далее установите флажок Разрешить запись в диалоговом окне Настройки . |
| > | Статус Редактируемый: будет изменен с Только чтение на Редактируемый . |
Теперь объект можно редактировать.
Заблокированные и разблокированные объекты
R-Studio позволяет вручную заблокировать редактируемый в Текстовом/шестнадцатиричном Редакторе объект.
К заблокированному объекту открыт эксклюзивный доступ в Текстовом/шестнадцатиричном Редакторе и при этом никакие другие программы или Windows не могут вносить в него изменения. На время внесения любых изменений на диске объект блокируется в Текстовом/шестнадцатиричном Редакторе . Поэтому часто бывает полезно заблокировать объект на время его редактирования в Текстовом/шестнадцатиричном Редакторе . Для этого необходимо выбрать команду Заблокировать меню Инструменты .
При блокировании объекта в Текстовом/Шестнадцатиричном Редакторе имейте в виду следующее:
• Начиная с ОС Windows 7 невозможно изменить расположенные на логическом диске данные без его блокировки. Если данные расположены вне логического диска (например, на размонтированном разделе или на свободном дисковом пространстве), то блокировка не обязательна. Подобных ограничений нет на ОС Windows Vista, XP и ниже.
• Команда Эксклюзивный доступ к диску пытается заблокировать все логические диски, на которых расположен редактируемый объект. Для физического диска это все его логические диски, для файла — логический диск, на котором он расположен. Если файл открыт на RAID, созданном из логических дисков, то блокируются все логические диски, на которых данный файл расположен.
• Если в Текстовом/Шестнадцатиричном Редакторе открыт логический диск, то команда Эксклюзивный доступ к диску блокирует его, если какие-либо файлы диска не открыты другими программами.
• Если в Текстовом/Шестнадцатиричном Редакторе открыт физический диск, то команда Эксклюзивный доступ к диску блокирует его, если при этом могут быть заблокированы все его логические диски. В данном случае могут возникнуть проблемы, если один из логических дисков является системным.
Чтобы просмотреть/редактировать объект
| 1 | Щелкните правой кнопкой мыши по объекту и выберите пункт Вьювер/Редактор контекстного меню |
Другие способы просмотреть/отредактировать объект
• Выберите объект и выберите пункт Вьювер/Редактор меню Файл
• Выберите объект и нажмите клавиши Ctrl+E
| > | Откроется окно Текстового/Шестнадцатиричного редактора |
Текстовый/Шестнадцатиричный редактор R-Studio
Нажмите на соответствующую часть окна для получения более подробной информации .

Параметры панели просмотра
Вы можете установить, какие панели и вкладки включить/выключить.
Чтобы включить/выключить:
Установите/снимите флажок пункта ANSI колонка меню Вид
Установите/снимите флажок пункта OEM колонка меню Вид
Установите/снимите флажок пункта Колонка UNICODE меню Вид
Установите/снимите флажок пункта Колонка UNICODE+ меню Вид
Установите/снимите флажок пункта Панель инструментов меню Вид
Установите/снимите флажок пункта Окно свойства меню Вид
Установите/снимите флажок пункта Просмотр секторов меню Вид
Показать Интерпретатор Данных
Установите/снимите флажок пункта Интерпретатор данных меню Вид
Установите/снимите флажок пункта Шаблоны меню Вид
Установите/снимите флажок пункта Закладки меню Вид
Показать Результаты Поиска
Установите/снимите флажок пункта Результат Поиска меню Вид
| 2 | Просмотрите информацию и сделайте необходимые изменения |
Выберите пункт Сохранить изменения меню Файл для сохранения сделанных изменений.
Просмотр
Существуют четыре вкладки, показывающие данные в различных представлениях. Реальное число вкладок для конкретного объекта зависит от самого объекта и его просматриваемых/редактируемых свойств.
Точные данные объекта. Если объект сжат, то прежде R-Studio извлечет данные.
Точное представление данных + свободное пространство последнего кластера. Если объект сжат, то прежде R-Studio извлечет данные.
Реальные данные, записанные на диск. Если объект не сжат, то такое представление совпадает со Стандартным представлением.
Резидентная часть объекта.
Вы можете просматривать данные в 4 различных кодировках: ANSI/OEM/UNICODE/UNICODE+ , включив или выключив страницы с соответствующей кодировкой при помощи кнопок Страницы кодировки или выбрав соответствующие страницы кодировки в меню Вид .
Вы можете просмотреть, какой файл записан в определенный сектор. Более подробно см. в разделе Файлы и Сектора .
Шаблоны
Вы можете выбрать шаблон, в соответствие с которым данные будут представлены и проанализированы в панели анализа данных . Интерпретатор данных показывает данные, выбранные в панели Шаблон , в различных представлениях.
Вы можете искать следующие или предыдущие данные, совпадающие с шаблонной сигнатурой на диске. Щелкните правой кнопкой мыши по правой панели редактора и выберите пункт контекстного меню Найти сигнатуру шаблона вперед или Найти сигнатуру шаблона назад . Также вы можете выбрать эти пункты в меню Редактировать .
Также вы можете создать свой собственный шаблон для анализа данных различных объектов.
Навигация
Текстовый/шестнадцатиричный Редактор позволяет выполнять различную навигацию по объекту. Более подробно см. в разделе Навигация по Объекту .
Копирование Данных
Текстовый/шестнадцатиричный Редактор позволяет различными способами копировать данные при выполнении навигации по объекту. Более подробно см. в разделе Копирование Данных .
Заполнение области шаблоном
Чтобы заполнить область шаблоном выберите пункт Заполнить меню Редактировать , задайте шаблон и область заполнения в диалоговом окне Заполнить .

Диалоговое окно Заполнить
Параметры заполнения
Шаблон для заполнения
Шаблон, которым заполняется область, в шестнадцатиричном представлении
Шаблон, которым заполняется область, в кодировке ANSI
Шаблон, которым заполняется область, в кодировке OEM
Шаблон, которым заполняется область, в кодировке UNICODE
Позиция начала области, заполняемой шаблоном
Позиция конца области, заполняемой шаблоном
| 3 | Нажмите кнопку Сохранить изменения , чтобы сохранить сделанные изменения |
Другие способы сохранить сделанные изменения
• Выберите пункт Сохранить изменения меню Файл
• Нажмите клавишу F2
| > | Сделанные в Текстовом/Шестнадцатиричном Редакторе изменения объекта будут сохранены |
ВЫ ДОЛЖНЫ БЫТЬ ПОЛНОСТЬЮ УВЕРЕНЫ В ТОМ, ЧТО И КУДА ЗАПИСЫВАЕТЕ!
Иначе вы можете полностью утратить ваши данные.
Выделение и сохранение области в Текстовом/шестнадцатиричном Редакторе
Вы можете выделить область объекта в Текстовом/шестнадцатиричном Редакторе и сохранить ее в файл.
Чтобы выделить и сохранить область в Текстовом/шестнадцатиричном Редакторе
| 1 | Щелкните правой кнопкой мыши в начало выделяемой области и выберите пункт Выделить от контекстного меню |
| 2 | Щелкните правой кнопкой мыши в конец выделяемой области и выберите пункт Выделить до контекстного меню |
Другие способы выделения области
• Выберите пункт Выделить. меню Сервис и задайте область в диалоговом окне Выделение
• Выделите при помощи мыши необходимую область.
Если вы хотите выделить область всего объекта, то выберите пункт Выделить все меню Сервис или нажмите клавиши Ctrl+A

Диалоговое окно Выделение
| 3 | Выберите соответствующий пункт меню Инструменты, чтобы сохранить данные в необходимом формате и задайте имя файла |
Сохранить в двоичный файл.
чтобы сохранить данные в двоичном формате (расширение по умолчанию .bin )
Сохранить как шестнадцатиричный файл.
чтобы сохранить данные в шестнадцатиричном формате (расширение по умолчанию .hex )
Если вы выберите существующий файл, то появится запрос о добавлении в него или перезаписи .
Если подключен удаленный компьютер для Восстановления Данных по Сети , то при выборе места сохранения данных откроется диалоговое окно Сохранить как. . Вы можете сохранить данные на локальном или удаленном компьютере.
| > | Ваши данные будут сохранены в файл в Текстовом/шестнадцатиричном Редакторе |
Загрузка данных из внешнего файла
Вы можете загрузить данные из файла и перезаписать область объекта, открытого в Текстовом/шестнадцатиричном Редакторе .
Чтобы загрузить двоичные данные из файла и перезаписать область объекта, открытого в Текстовом/шестнадцатиричном Редакторе
| 1 | Выделите перезаписываемую область и выберите пунк Загрузить из файла. меню Сервис |
Если подключен удаленный компьютер для Восстановления Данных по Сети , то при выборе файла с данными откроется диалоговое окно Открыть как двоичный файл . Вы можете открыть файл с данными с локального или удаленного компьютера.
| 2 | Выберите необходимый файл и загрузите данные. |
| > | Область в Текстовом/шестнадцатиричном Редакторе будет перезаписана новыми данными. |
r_statistics
Есть файл csv, который дальше нужно обрабатывать в R.
Если его открыть как csv то кодировка кривая.
Если открыть эксель и подгрузить через «Данные из текста» -> csv + кодировкой UTF-8, то русский шрифт в норме.
Помогите, пожалуйста, с переоределением кодировки в R:
«Error in read.table(file = file, header = header, sep = sep, quote = quote, : unused argument (Encoding = «utf-8″)»
Проверка локале показала что
«LC_COLLATE=Russian_Russia.1251;LC_CTYPE=R ussian_Russia.1251;LC_MONETARY=Russian_R ussia.1251;LC_NUMERIC=C;LC_TIME=Russian_ Russia.1251»
Что ж я делаю не так? Подскажите, пожалуйста, что нужно поменять исправить?
LJ Video
26 комментариев — :
( 26 комментариев — Комментировать )
А почему бы Вам не инсталлировать R commander(пакет Rcmdr). Там можно таблицы грузить напрямую из Excel или Access, ну и еще куча функций, сильно облегчающих жизнь.
Изучаю, попробую!
Можно попробовать пересохранить CSV файл в нужной кодировке (например, через RStudio, Save with Encoding).
Результат: кодировка явно поменялась, вес файла увеличился, но все равно не читабельно.
Что можно подправить?
Я не это имел в виду. Откройте CSV файл в любом текстовом редакторе, поддерживающем сохранение с кодировкой. Подходит RStudio (вы же не работаете с R без RStudio, правда?), Sublime Text 3, или что-то подобное. Потом открываем файл в этом редакторе, идем в меню File и делаем Save with Encoding.
Да, работаю в Rstudio.
Rstudio пишет что файл слишком большой.
Edited at 2017-11-22 14:23 (UTC)
Проверьте размер файла (не нового, который вы сделали, а изначального). Попробуйте сконвертировать с десяток первых строк, скопировав их в другой файл вручную.
В саблайме файл csv сразу открывается в нужной кодировке, но сохранить «Save with Encoding» его в любой кириллической кодировке не удается, говорит что не все символы возможно пересохранить.
А «Save with Encoding» -> UTF-8 при нажатии просто ничего не происходит, не выпадает окно для сохранения.
Если снова открыть csv напрямую — все та же кривая кодировка.
Edited at 2017-11-22 14:49 (UTC)
Команда для нашего, кириллического, CSV не read.csv, а read.csv2
Сам летом полночи бился
df.raw
Edited at 2017-11-22 13:37 (UTC)
Не помогло, все та же кривая кодировочка (
Edited at 2017-11-22 14:01 (UTC)
У меня работают следующие варианты
Datatable<-read.csv2('1.csv',stringsAsFactor s=FALSE)
Ещё иногда добавлял header=T
Разделители в нашем CSV запятые, возможно дело в sep=»\t», попробуйте убрать
У меня в файле разделитель — табуляция.
А. Я в экселе всегда сохраняю в формате CSV- разделители запятые. Можно открыть в нём и пересохранить
А почему не сделать заново экспорт из Excel, если в Excel получается открыть?
Доброе утро! Там съезжает формат дат в разные стороны, чтобы не править руками форматы я подумала, что надо решить этот вопрос в R при подгрузке файла. Я не права?
ну если средствами эксель быстро исправить формат этой колонки не получается, то, наверное, правы.
Можно пойти таким путем: реэкспортировать заново файл из excel в csv, чтобы «починить» кодировку. Потом экспортировать в R и уже средствами R обработать эту «кривую» колонку приведя ее к нормальному формату.
Попробовала изначально с хайва сохранять в эксель, хайв не ругается, все выгружает, файл имеет похожий вес, но сам эксель его открывать отказывается.
df <- read.csv(file = "shop_hive_w46.csv", encoding = "UTF-8") да, UTF-8 и utf-8 как ни странно разные локали представляют. Оба пробовала, оба не работают.
Проще всего рекодировать файл, это по сути обычный txt, в cp1251 внешним кодировщиком, соответственно им решая проблемы с необычными символами.
Вообще просто посмотрите глазами на 8 строку в которой проблема и станет понятно что за символы (и возможно что делать тоже 🙂
Посмотрела, последний символ читаемый в R это буква «п» в какой-то кодировке, а этот же символ в екселе на том же месте просто отсутствует, там на его место большая буква Н. Мне в голову ничего не пришло как такое могло произойти и что с ним делать.
Давайте попробую прочитать этот файл в линуксе с родной utf8. Киньте где его выкачать на p2004r на гуглопочте.
киньте, плз, файл или его кусочек на rslon@mail.ru, гляну, в чём там дело
Вчера пришла на работу перезагрузила комп, и попробовала снова подгрузить R-ом, все открылось в нужной кодировке. Потом открыла файл просто csv минуя эксель — и он тоже открылся в нужной кодировке. Сделать новую выгрузку csv для теста не было возможности.
Сегодня с утра сделала выгрузку в csv, открыла — кодировка кривая.
Подгрузила как обычно в R — кодировка распозналась.
Что это было и почему сработало — я не понимаю.
Позавчера я тоже перезагружалась, но не работало. Видимо эта рулетка 🙂
Спасибо вам всем за подсказки и поддержку, наверное, что-то случайно сделала правильно.
