[英]Convert character string list into dataframe in R
我正在抓住紐瓦克自由國際機場的網站,以便跟蹤他們的日程安排。 這是我開發的代碼片段:
library(rvest)
url <- read_html('https://www.airport-ewr.com/newark-departures-terminal-C?
tp=6&day=tomorrow')
population <- url %>% html_nodes(xpath = '//*[@id="flight_detail"]') %>%
html_text() %>% gsub(pattern = '\\t|\\r|\\n', replacement = ' ') %>%
trimws() %>% gsub(pattern = '\\s+', replacement = " ")
gsub()用於刪除文本中的前導和尾隨空格以及額外空格。 代碼運行良好,我已附加輸出的片段:
我想將此字符串轉換為包含值的數據框,如下所示:
任何幫助表示贊賞!!
試試這個:
library(rvest)
url <- read_html('https://www.airport-ewr.com/newark-departures-terminal-C?tp=6&day=tomorrow')
population <- url %>% html_nodes(xpath = '//*[@id="flight_detail"]') %>%
html_text()
首先我們讀取原始文本行。 然后我注意到每列都用\\n
分隔,但有時候不止一個,所以首先我們gsub
額外的\\n
分隔符,然后將字符串拆分為\\n
,並將輸出rbind
為data.frame
popDF <- as.data.frame(
do.call('rbind',strsplit(gsub("(\\n)+", "\\\n",population),split="\n", fixed=TRUE))
)
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 Austin (AUS) United Airlines UA 2427 06:00 am Depart: 06:00 am C Term. C Scheduled - On-time [+]
2 Austin (AUS) SAS SK 6868 06:00 am Depart: 06:00 am C Term. C Scheduled - On-time [+]
3 Boston (BOS) United Airlines UA 1699 06:00 am Depart: 06:00 am C Term. C Scheduled - On-time [+]
4 Columbus (CMH) CommutAir C5 4973 06:00 am Depart: 06:00 am C Term. C Scheduled - On-time [+]
5 Columbus (CMH) United Airlines UA 4973 06:00 am Depart: 06:00 am C Term. C Scheduled - On-time [+]
6 Detroit (DTW) Republic Airlines YX 3482 06:00 am Depart: 06:00 am C Term. C Scheduled - On-time [+]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.