簡體   English   中英

從r中的數據幀中刪除unicode字符

[英]removing unicode characters from data frame in r

我有一個大型數據框,其中包含我用以下代碼導入它的波斯語字符:

Sys.setlocale(locale = "persian")
dt <- read.csv("data.csv",encoding="UTF-8")

我的dt是這樣的:

id         title
3376971    چوب شور آلبينا شيرين عسل <U+06F3><U+06F0> گرمي
3376989    ويفر رنگارنگ مينو <U+06F1><U+06F4>.<U+06F5> گرمي
3376990    کوکي مينو <U+06F3><U+06F0> گرمي
3376991    بيسکويت هاي باي شيرين عسل <U+06F3><U+06F8> گرمي
3376992    شکلات توريستي آناتا <U+06F2><U+06F8> گرمي
3376993    اسنک مغزدار شکلاتي شونيز <U+06F1><U+06F7> گرمي
3376994    شکلات فندقي آناتا <U+06F1><U+06F8> گرمي
3376995    نان روغني شيرين عسل <U+06F5><U+06F0> گرمي
3376996    بيسکويت هاي باي شيرين عسل <U+06F5><U+06F7> گرمي

我想刪除一些unicode,我試過:

dt<- cbind.data.frame(dt$id,gsub("<.+>", "", dt$title)
dt<- cbind.data.frame(dt$id,gsub("\\S+\\s+|-", "", dt$title)
dt<- cbind.data.frame(dt$id,gsub("^\\s*<U\\+\\w+>\\s*", "", dt$title)
dt<- cbind.data.frame(dt$id,gsub("\\<U[^\\>]*\\>", "", dt$title)  
dt<- cbind.data.frame(dt$id,gsub(""▼|▲"", "", dt$title)  

但不是他們的作品

我也試過這個:

dt$title<-gsub("^\\s*<U\\+\\w+>\\s*", "", dt$title)

但是我收到了這個錯誤:

Error in `$<-.data.frame`(`*tmp*`, title, value = character(0)) : 
replacement has 0 rows, data has 66366

我注意到在R控制台中我的數據顯示如下:

چوب شور آلبینا شیرین عسل ۳۰ گرمی

並且Unicode已經顯示為波斯數字,我試過這個並且它有效:

dt$title<-gsub("[۰-۹]+", "", dt$title)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM