如何在R中读取网页CSV?解决导入时所有值变为列名的问题
问题解析与应对建议
首先得说,你最后发现数据源返回的是HTML而非真正的CSV,这完全解释了之前所有解析出错的问题——read.csv和read.delim都是为标准CSV格式设计的,面对HTML结构的内容,自然会把所有文本错误识别成列名。
你的问题场景回顾
你尝试导入的目标数据片段是:
Month/Year, "Index" "Feb.2019","125" "Mar.2019","127" "April.2019","130"
你试过的代码都没得到预期结果:
read.csv("path", header = TRUE) # Not working read.delim("path", header = TRUE, sep = ",")
后续处理的小建议(供你参考)
既然你已经打算自行处理数据,这里给几个实用的方向:
- 要是想直接从HTML里提取表格数据,可以用R的
rvest包:先用read_html()加载目标内容,再用html_table()提取出结构化的表格数据; - 提取到数据后,如果需要转换成标准CSV格式,用
write.csv()导出成文件,之后再用read.csv()正常读取; - 也可以手动把HTML里的表格内容复制到本地文本,整理成
列名,值的标准CSV结构后再导入。
内容的提问来源于stack exchange,提问作者oscartorom
相关产品推荐
相关产品推荐

