我正在使用R从网站提取HTML表格。
但是,HTML表的语言为印地语,文本显示为Unicode。
任何可以设置/安装字体系列并获取实际文本而不是unicode的方式。
我遵循的代码是:
library('XML')
table<-readHTMLTable(<the html file>)
n.rows <- unlist(lapply(table, function(t) dim(t)[1]))
table[[which.max(n.rows)]]
示例站点为:http://mpbhuabhilekh.nic.in/bhunakshaweb/reports/mpror.jsp?base=wz/CP8M/wj/DP8I/wz/CoA==&vsrno=26-03-02-00049-082&year=2013&plotno=71
输出为:
“ ”
等等
注意:由于某些原因,仅当我删除HTML文件中的前两个不需要的表时,readHTMLTable才起作用。因此,如果您必须使用该文件进行测试,请编辑出前两个表或仅从文件中删除前两个表头。
任何帮助将不胜感激。谢谢
更新:
该问题似乎与Windows OS计算机上R中设置的语言环境有关。虽然无法弄清楚如何使其工作!
最佳答案
我发现与该语言环境相关的错误的解决方案是调用相应的编码。
library('XML')
table<-readHTMLTable(<the html file>)
n.rows <- unlist(lapply(table, function(t) dim(t)[1]))
output <- table[[which.max(n.rows)]]
for (n in names(output)) Encoding(levels(output[[n]])) <-"UTF-16"
R控制台中的输出可能看起来仍然很乱,但是优点是,一旦导出数据集(例如csv),它就会在其他编辑器上全部出现在印地语中。