首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将刮过的数据导出到一个CSV

将刮过的数据导出到一个CSV
EN

Stack Overflow用户
提问于 2018-10-08 08:05:34
回答 2查看 296关注 0票数 0

我设法在R(rvest)中收集选举信息,但现在我很难将数据保存在不同的CSV文件中,而是保存在一个CSV文件中。

这是我的工作代码,在这里我可以分别丢弃11,12,13页。

代码语言:javascript
运行
复制
library(rvest)
library(xml2)

do.call(rbind, lapply(11:13, 
                  function(n) {
url <- paste0("http://www.cvk.gov.ua/pls/vnd2014/WP040?PT001F01=910&pf7331=", n)
mi <- read_html(url)%>% html_table(fill = TRUE)
mi[[8]]

file <- paste0("election2014_", n, ".csv")
if (!file.exists(file)) write.csv(mi[[8]], file) 
Sys.sleep(5)
}))

最后我试着做这件事,但它并没有像我预期的那样起作用。

代码语言:javascript
运行
复制
write.csv(rbind(mi[[8]],url), file="election2014.csv") 
EN

回答 2

Stack Overflow用户

发布于 2018-10-08 12:12:13

试试这个:

代码语言:javascript
运行
复制
library(rvest)
library(tidyverse)


scr<-function(n){
  url<-paste0("http://www.cvk.gov.ua/pls/vnd2014/WP040?PT001F01=910&pf7331=",n)

 df=read_html(url)%>%
    html_table(fill = TRUE)%>%
    .[[8]]%>%
    data.frame()
 colnames(df)<-df[1,] 
 df<-df[-1,]
 }

res<-11:13%>%
  map_df(.,scr)
write.csv2(res,"odin_tyr.csv")
票数 0
EN

Stack Overflow用户

发布于 2018-10-08 08:56:29

我无法让您的代码工作,但是您可以尝试在运行代码之前创建一个空的数据框架,然后在编写包含完整数据的csv文件之前这样做:

代码语言:javascript
运行
复制
df   = rbind(df,mi[[8]])

还可以考虑使用purrr包将csv文件转换为一个文件:

代码语言:javascript
运行
复制
files = list.files("folder_name",pattern="*.csv",full.names = T)

df = files %>%
  map(read_csv) %>%
  reduce(rbind)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52697899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档