Rstudio & MariaDB (в Windows!) - чтение CSV-файла с несколькими иностранными языками в столбце - PullRequest
0 голосов
/ 03 декабря 2018

Например, у меня есть CSV-файл с 3 языками в столбце.

жанр, производитель, название, байт, место
DB 관리, R Foundation, R 3.5.1,82877232,100 고
DB 관리, DB 관리 こ の ペ ジ, 23 23 ペ ー ジ, 3423, 서피스 고

Переменная источника имеет английский (R Foundation, DB), корейский (관리) и японский (こ の ペ ー ジ)

Как это нормально открыть в r на windows?

1 Ответ

0 голосов
/ 03 декабря 2018

Например, у меня есть CSV-файл с 3 языками в столбце.

жанр, производитель, название, байт, место
DB 관리, R Foundation, R 3.5.1,82877232,100 고
DB 관리, DB 관리 こ の ペ ジ, 23 23 ペ ー ジ, 3423, 서피스 고

Переменная источника имеет английский (R Foundation, DB), корейский (관리) и японский (こ の ペ ー ジ)


Шаг 1) Вы должны сохранить CSV-файл с utf-8

Кодировка Linux по умолчанию в utf-8.Но Windows не использует кодировку по умолчанию в utf-8 (например, CP949 на основе EUC-KR, CP932 на основе EUC-JP)

Если вы сохранили файл типа CP949 или CP932, то файлсломал корейские или японские слова.


Шаг 2) Установка набора символов [utf-8, utf-8_general_ci] в MariaDB (на основе MySQL)

MariaDB делаеткодировка по умолчанию - utf-8 (набор символов: latin1)

Если вы не измените utf-8 и не отправите английские, корейские, японские слова в MariaDB, то значения будут повреждены.перейдите на uft-8 (в папке my.ini файла mysql / bin) collation_server=utf8_general_ci character_set_server=utf8


Шаг 3) Установите пакет "readr" в R (или RStudio) и вызовите библиотеку "readr",Использование функции read_csv

Функция read.csv (в базовой библиотеке) не работает нормально.вот так
введите описание изображения здесь
Произошла ошибка наборы данных dat1, dat2, dat3, dat4
dat1 <- NULL; dat1 <- read.table("list.csv", header=T, sep=","); dat2 <- NULL; dat2 <- read.csv("list.csv", header=T); dat3 <- NULL; dat3 <- read.csv("list.csv", header=T, fileEncoding="UTF-8"); dat4 <- NULL; dat4 <- read.csv("list.csv", header=T, fileEncoding="UTF-8-BOM");

Использование функции read_csv (в "readr""библиотека", нормально работает.вот так
введите описание изображения здесь

library(readr); dat <- NULL; dat <- read_csv("list.csv");


Шаг 4) Обновление БД с использованием «RMySQL или RMariaDB» в Rstudio (или R)& Проверьте БД

library(DBI); library(RMariaDB); con <- dbConnect(MariaDB(), user = "****", password = "****", dbname = "****", host = "****", port = ****); dbWriteTable(con,"****", dat, overwrite = FALSE, row.names = FALSE, append = T); dbDisconnect(con);

результат, подобный этому (веб-страница из БД)
введите описание изображения здесь

Я надеюсь помочьнекоторые люди, у которых проблемы с кодированием в системе Windows.

Таким образом, Linux - хорошая ОС для работы с БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...