https://clients.rte-france.com/servlets/IndispoProdServlet?annee=2017
このリンクは、zipファイルの自動ダウンロードを生成時にRに自動的に配置されたファイルを読みたいです。このzipファイルには、Rで読みたいExcelファイルが含まれています。
あなたはこれについて何か提案がありますか?ありがとう。
https://clients.rte-france.com/servlets/IndispoProdServlet?annee=2017
このリンクは、zipファイルの自動ダウンロードを生成時にRに自動的に配置されたファイルを読みたいです。このzipファイルには、Rで読みたいExcelファイルが含まれています。
あなたはこれについて何か提案がありますか?ありがとう。
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の質問で対処する必要があるかどうかは不明です。
ありがとう、ありがとうございます。問題が解決しました! – oana
多くのサイトでは、普通のCSVを送信するか、偽の拡張子とコンテンツタイプを持つHTMLテーブルを送信してExcelのエクスポートを偽造しています。 'xlsx'(唯一のサポートされている形式)はちょうど圧縮されたXMLファイルであり、したがってテキストファイルよりも*小*であるため、これは非常に怠惰です。 '.xlsx'ファイルを直接生成するライブラリやパッケージなどがたくさんあります。実際にはCSVを生成するよりも簡単に使うことができますが、知的怠惰 –
[download.file](https://stat.ethz.ch/R-manual/R-devel/library/utils/html/download.file.html)を検索してください。ダウンロードには数十もの質問があります。ダウンロードモードとして 'wb'(バイナリ)を使用してください。 –
ありがとうございます。私は "download.file(" https://clients.rte-france.com/servlets/IndispoProdServlet?annee=2017 "、dest =" dataset.zip "、mode =" wb ")で管理しました。 unzip(" dataset。 zip ")"問題は今、これはExcel 97形式であり、私は正規のreadxlでRで読むことができません。 – oana