2017-10-14 86 views
0

我在嘗試使用download.file從澳大利亞統計局下載電子表格。但是我收到了一個損壞的文件,當我用readxl打開它時,我的會話崩潰了。正在下載r中的文件

target = "http://www.abs.gov.au/ausstats/meisubs.NSF/log?openagent&5206001_key_aggregates.xls&5206.0&Time%20Series%20Spreadsheet&24FF946FB10A10CDCA258192001DAC4B&0&Jun%202017&06.09.2017&Latest" 
dest = 'downloaded_file.xlsx' 

download.file(url = target, destfile = dest) 

任何指針都會很棒。

+0

使用R分析ABS電子表格是愚蠢的差事。您最好手動輸入數據。 – Hugh

回答

3

看起來像那個文件是不使用較新的xlsx格式的xls文件。刪除文件名末尾的'x',以便readxl知道使用正確的格式。另請注意,我非常確定xls是一種二進制格式,因此您應該使用二進制模式編寫文件。

target = "http://www.abs.gov.au/ausstats/meisubs.NSF/log?openagent&5206001_key_aggregates.xls&5206.0&Time%20Series%20Spreadsheet&24FF946FB10A10CDCA258192001DAC4B&0&Jun%202017&06.09.2017&Latest" 
dest = 'downloaded_file.xls' 

download.file(url = target, destfile = dest, mode='wb')