URLを読み取り、csvファイルを取得する
質問
iにはURLがあり、ブラウザにロードするとcsvファイルとして認識され、「開く」のポップアップが表示されます。これをプログラムで実行して、winformsアプリでそのURLを使用してcsvファイルを直接解析できるようにします。
これを行う最も簡単な方法は何ですか?
編集:WebClientを使用しようとすると、次のエラーが表示されます:
"リモートサーバーがエラーを返しました:(500)Internal Server Error。"
解決
このようなことがうまくいかない理由はわかりません(C#で):
// Download the file to a specified path. Using the WebClient class we can download
// files directly from a provided url, like in this case.
System.Net.WebClient client = new WebClient();
client.DownloadFile(url, csvPath);
urlはcsvファイルがあるサイトであり、csvPathは実際のファイルを配置する場所です。
他のヒント
WinFormsアプリがある場合は、を使用できます。 System.Net.WebClient を使用して、データを文字列として読み取ります。
csvファイル全体を文字列として読み取りますが、自由に書き出したり解析したりできます。
何かを一緒にホイップしたい場合は、スクリプト言語といくつかのbashを使用することをお勧めします。 wgetなどを使用して、ファイルとスクリプト言語を取得し、解析します。 phpには次の機能があることがわかっているので、ファイルを取得したらphpを使用して解析することもできます。 http://php.net/manual/en/function.fgetcsv.php
この方法をお勧めします。これは簡単だからです。そこから何をしたいのかはわかりませんが、牡worldの世界はわかりますが、確かに簡単に解析できます。
次のコードは動作しますが、Open Officeを実行しています。 Excelでテストしていません。 ハッキングビットは、ファイルのローカルコピーの名前を* .xlsに変更して、WindowsがデフォルトでExcelを起動するようにします。ファイル拡張子をCSVのままにすると、Windowsはデフォルトでメモ帳を起動します。
String url = "http://www.example.com/test.csv";
String localfile = "test.xls";
var client = new WebClient();
client.DownloadFile(url, localfile);
System.Diagnostics.Process.Start(localfile);