0

目前我正在处理我正在使用 rtweet 包的 twite 数据。但是,当我想保存我的数据时,我遇到了问题。

我使用以下代码来获取我的数据:

Data1 <- get_timeline("Account1", n = 3200)

Data2 <- get_timeline("Account2", n = 3200)

Data3 <- get_timeline("Account2", n = 3200)

timelines <- dplyr::bind_rows(Data1, Data2, Data3)

write_csv(timelines, path = paste("./Data/Account_tweets_", Sys.Date(), ".csv", sep=""))

我收到的错误如下:

stream_delim_(df, path, ..., bom = bom, quote_escape = quote_escape) 中的错误:不知道如何处理列表类型的向量。

有人能帮我吗?

4

2 回答 2

2

好像list您的数据中有一个列,并且write_csv不处理列表列。CSV 是扁平的,而嵌入式列表不是。至于继续进行的选项,要么

  • 扁平化您的数据结构,例如,tidyr::unnest()在写入 CSV 之前
  • 或写入不同的数据结构。如果您只需要 R 来阅读它们,我建议您使用base::saveRDS. 如果您需要它们是便携的,也许jsonlite::writeJSON.

谷歌搜索您的错误会直接导致readr 存储库上的这个已关闭问题。在这个链接的讨论 中,听起来没有计划为 CSV 启用列表列,因为通常不清楚应该如何处理它们。

于 2020-01-09T16:29:58.173 回答
2

rTweet 包中有一个特定的功能write_as_csvhttps ://rdrr.io/cran/rtweet/man/write_as_csv.html

rtweet::write_as_csv(timelines, file_name = paste("./Data/Account_tweets_", Sys.Date(), ".csv", sep=""))

编辑 - 我的错,我太快了。它是file_name而不是path你应该使用

于 2020-01-09T16:30:11.633 回答