从R中的数据帧中删除Unicode字符

时间:2019-06-17 06:55:18

标签: r unicode utf-8

我有一个很大的数据框,其中包含波斯语字符,我使用以下代码将其导入r:

X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.5, random_state=0)
print(X_train.shape)
print(X_test.shape)
x = tf.placeholder(float, shape=X_train.shape)
y = tf.placeholder(float, shape=X_test.shape[1:])
computeL0Dist = tf.count_nonzero(x - y, axis=[1])
find_k_closest_tr_products = tf.contrib.framework.argsort(computeL0Dist, direction='ASCENDING')
find_labels_k_closest_tr_products = tf.gather(y_train, find_k_closest_tr_products[0:paramk])
print('SHAPE', find_labels_k_closest_tr_products.shape)
find_u_labels, find_idex, find_counts = tf.unique_with_counts(find_labels_k_closest_tr_products)
find_predicted_label = tf.gather(find_u_labels, tf.argmax(find_counts))

我的dt是这样的:

 <head>
  <title>The title you want</title>
  <meta name="keywords" content="words that google search in his motor to find you">
  <meta name="description" content="The description text google show when any search you.">
 </head>

我尝试删除一些unicode:

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

但它们都不起作用

我也尝试过:

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> گرمي

但是我得到了这个错误:

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)  

1 个答案:

答案 0 :(得分:0)

我注意到在R控制台中,我的数据显示如下:

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

并且Unicode已经像波斯数字一样显示了,我尝试了一下,并且奏效了:

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