2017-01-15 2 views
1

Я пытаюсь загрузить файл Excel в R, который имеет два столбца даты и один столбец страны. Не могли бы вы рассказать мне, как читать файл в R?Как читать даты из файлов excel в R?

Структура данных:


Actual_Shipment_Date Expected_Shipment_Date Country No_of_Days_Deviated 
01-03-2016 07-03-2016 USA 
22-12-2016 05-01-2017 UK 
20-11-2016 10-11-2016 INDIA 
12-02-2017 22-02-2017 HUNGARY 
14-07-2016 15-07-2016 EGYPT 
25-09-2016 30-09-2016 CHINA 
28-11-2016 31-12-2016 JAPAN 
08-05-2016 17-05-2016 AUSTRALIA 
11-04-2016 14-09-2016 RUSSIA 
22-03-2016 25-06-2016 BRAZIL 
24-09-2016 22-04-2016 MEXICO 
07-07-2016 07-11-2016 FRANCE 
08-11-2016 05-04-2016 GREECE 
17-11-2016 10-01-2017 SPAIN 
01-12-2016 01-01-2017 SINGAPORE 
07-01-2017 22-12-2016 POLAND 
11-12-2016 13-12-2016 CHILE 
09-09-2016 10-10-2016 AFGANISTAN 
08-05-2016 25-07-2016 TAIWAN 
26-07-2016 05-08-2016 CANADA 

enter image description here

+0

посмотрите на пакет 'readxl' – cderv

+0

ничего плохого, если вы хотите прочитать файл csv. Здесь речь идет о чтении файла excel. Пакет 'readxl' отлично подходит для этого. – cderv

ответ

1

Чтобы прочитать непосредственно таблицу из файла XLSX, вы могли бы использовать readxl пакет. read_excel функция автоматически угадает ваш столбец datetime.

Если данные находятся в первом листе файла:

library(readxl) 

Tab <- read_excel("path/to/file.xlsx", sheet = 1) 
Tab 
#> Actual_Shipment_Date Expected_Shipment_Date Country 
#> 1   2016-03-01    2016-03-07  USA 
#> 2   2016-12-22    2017-01-05   UK 
#> 3   2016-11-20    2016-11-10  INDIA 
#> 4   2017-02-12    2017-02-22 HUNGARY 
#> 5   2016-07-14    2016-07-15  EGYPT 
#> 6   2016-09-25    2016-09-30  CHINA 
#> 7   2016-11-28    2016-12-31  JAPAN 
#> 8   2016-05-08    2016-05-17 AUSTRALIA 
#> 9   2016-04-11    2016-09-14  RUSSIA 
#> 10   2016-03-22    2016-06-25  BRAZIL 
#> 11   2016-09-24    2016-04-22  MEXICO 
#> 12   2016-07-07    2016-11-07  FRANCE 
#> 13   2016-11-08    2016-04-05  GREECE 
#> 14   2016-11-17    2017-01-10  SPAIN 
#> 15   2016-12-01    2017-01-01 SINGAPORE 
#> 16   2017-01-07    2016-12-22  POLAND 
#> 17   2016-12-11    2016-12-13  CHILE 
#> 18   2016-09-09    2016-10-10 AFGANISTAN 
#> 19   2016-05-08    2016-07-25  TAIWAN 
#> 20   2016-07-26    2016-08-05  CANADA 

Дата колонке Преобразовать в Posixct по желанию

str(Tab) 
#> Classes 'tbl_df', 'tbl' and 'data.frame': 20 obs. of 3 variables: 
#> $ Actual_Shipment_Date : POSIXct, format: "2016-03-01" "2016-12-22" ... 
#> $ Expected_Shipment_Date: POSIXct, format: "2016-03-07" "2017-01-05" ... 
#> $ Country    : chr "USA" "UK" "INDIA" "HUNGARY" ... 

readxl хорошо работает с dplyr и tibbles, поскольку он возвращает tbl_df.

+0

Иногда мне приходится вызывать аргумент 'col_types = c (rep (" date ", 2)," text ")', иногда мне не нужно ... –

Смежные вопросы