2017-01-24 21 views
0

私はウェブサイトに埋め込まれたExcelファイルを読み込む

https://clients.rte-france.com/servlets/IndispoProdServlet?annee=2017

このリンクは、zipファイルの自動ダウンロードを生成時にRに自動的に配置されたファイルを読みたいです。このzipファイルには、Rで読みたいExcelファイルが含まれています。

あなたはこれについて何か提案がありますか?ありがとう。

+1

[download.file](https://stat.ethz.ch/R-manual/R-devel/library/utils/html/download.file.html)を検索してください。ダウンロードには数十もの質問があります。ダウンロードモードとして 'wb'(バイナリ)を使用してください。 –

+0

ありがとうございます。私は "download.file(" https://clients.rte-france.com/servlets/IndispoProdServlet?annee=2017 "、dest =" dataset.zip "、mode =" wb ")で管理しました。 unzip(" dataset。 zip ")"問題は今、これはExcel 97形式であり、私は正規のreadxlでRで読むことができません。 – oana

答えて

0

Panagiotisのコメントdownload.file()は一般的には良いアドバイスですが、私はここで働かせることができませんでした(理由を知りたいのは興味があります)。代わりにhttrを使用しました。
(編集:...常に名前の引数を使用します。それは、私が私の後を繰り返し... download.file()の引数を逆転しました)

このデータの別の問題:それは通常のxlsファイルではないと思われ、まだまだ優れたreadxlパッケージで開けませんでした。 タブで区切られたフラットファイルのようですが、read.table()でも成功しません。 readr::read_delim()がそれを作った。

library(httr) 
library(readr) 
r <- GET("https://clients.rte-france.com/servlets/IndispoProdServlet?annee=2017") 
# Write the archive on disk 
writeBin(r$content, "./data/rte_data") 
rte_data <- 
    read_delim(
    unzip("./data/rte_data", exdir = "./data/"), 
    delim = "\t", 
    locale = locale(encoding = "ISO-8859-1"), 
    col_names = TRUE 
) 

解析の問題はまだありますが、このSOの質問で対処する必要があるかどうかは不明です。

+0

ありがとう、ありがとうございます。問題が解決しました! – oana

+0

多くのサイトでは、普通のCSVを送信するか、偽の拡張子とコンテンツタイプを持つHTMLテーブルを送信してExcelのエクスポートを偽造しています。 'xlsx'(唯一のサポートされている形式)はちょうど圧縮されたXMLファイルであり、したがってテキストファイルよりも*小*であるため、これは非常に怠惰です。 '.xlsx'ファイルを直接生成するライブラリやパッケージなどがたくさんあります。実際にはCSVを生成するよりも簡単に使うことができますが、知的怠惰 –

関連する問題