我在R开发了一个程序来阅读在线提供的报告,前两行是:
page1 <- readLines("http://reportviewer.tce.mg.gov.br/default.aspx?server=noruega&relatorio=SICOM_Consulta/2013_2014/Modulo_AM/UC03-LeisOrc-RL&municipioSelecionado=3100203&exercicioSelecionado=2014")
line1 <- grep("Leis Autorizativas",page1)
程序的其余部分工作正常,我得到了我需要的数据。然后我尝试调整它以阅读不同的报告,但这次第二行不起作用:
page2 <- readLines("http://reportviewer.tce.mg.gov.br/default.aspx?server=noruega&relatorio=SICOM_Consulta/2013_2014/Modulo_AM/UC08-ConsultarDecretos-RL&municipioSelecionado=3101607&exercicioSelecionado=2013")
line2 <- grep("Decretos de Alterações",page2)
在第一种情况下,'page1'是字符向量,而在第二种情况''page2'是大字符向量。这种差异是否可能导致问题?如果是这样,是否有人提示如何修复它?
(使用htmltab()或readHTMLtable()没有产生好的结果)
谢谢。
答案 0 :(得分:2)
那是因为“DecretosdeAlterações”并不完全由ascii字符组成。
如果您尝试
page2 <- readLines("http://reportviewer.tce.mg.gov.br/default.aspx?server=noruega&relatorio=SICOM_Consulta/2013_2014/Modulo_AM/UC08-ConsultarDecretos-RL&municipioSelecionado=3101607&exercicioSelecionado=2013")
grep("Decretos de Alterações ", page2)
[1] 366
有效。
知道要替换的号码:
utf8ToInt("ç")
[1] 231
然后将结果数字放在&
和;
之间,并替换您的非ascii字母。
最佳
科林