2017-04-17 37 views
-1

我想從一個在線源使用httr導入一個csv,除了它讀取一列作爲整數時,一切都很好,因爲它應該是一個雙精度值,導致這些值顯示因爲不適用httr CSV內容讀取爲整數而不是雙重

我正在使用並獲取以下問題。

getdata <- GET(paste("https://rest.zuora.com/v1/files/",r$FileId, sep = ''), auth) invoice <- content(getdata, type = "text/csv")

Parsed with column specification: 
cols(
    Account.external_id__c = col_integer(), 
    Invoice.Amount = col_double(), 
    Invoice.Balance = col_integer(), 
    Invoice.CreatedDate = col_datetime(format = "") 
) 
Warning: 171 parsing failures. 
row    col    expected actual 
2475 Invoice.Balance no trailing characters .4 
2726 Invoice.Balance no trailing characters .71 
3197 Invoice.Balance no trailing characters .3 
3287 Invoice.Balance no trailing characters .5 
3350 Invoice.Balance no trailing characters .1 
.... ............... ...................... ...... 
See problems(...) for more details. 

任何幫助表示讚賞,感謝。

+0

你能提供足夠的樣本數據來顯示問題嗎? – r2evans

回答

1

當您通過type = "text/csv"時,httr::content功能使用readr::read_csv。您可以將參數傳遞給read_csv內的content,幸運的是read_csv允許您定義要導入的csv的列類型。

invoice <- content(getdata, type = "text/csv", col_types = cols(
    Account.external_id__c = col_integer(), 
    Invoice.Amount = col_double(), 
    Invoice.Balance = col_double(), 
    Invoice.CreatedDate = col_datetime(format = "") 
)) 

通知Invoice.Balance = col_double()

有關更多信息,請參閱vignette("column-types", package = "readr")

相關問題