URLにアクセスするWebサービスを作成しようとしています。 www.domain.co.uk/prices.csv
と入力して、csvファイルを読み取ります。これは可能ですか?理想的にはcsvファイルをダウンロードせずに?URLからcsvファイルを読み込むには?
答えて
メモリにすべてを保存せずに文書を解析することができますそこに私は自分自身を圧延することに対して助言するだろう。 FileHelpersはいいです。
ファイル全体を文字列に読み込み、 'WebRequest'の柔軟性を必要としない場合は、 WebClient.DownloadString'。 – Joey
にはがあります。ファイルをダウンロードしてください。それはあなたのコードが何らかの形でそれらをフェッチせずに内容を遠隔で記述できるようなものではありません。
しかし、それを意味する場合はファイルに保存する必要はありません。 WebClient
クラスを使用して、HTTP経由でリソースを取得することができます。特にDownloadString
methodを見てください。
ここで、urlはcsvファイルのあるサイトで、csvPathは実際のファイルを保存する場所です。
Webサービスでは、WebClientクラスを使用して、このようなファイルをダウンロードすることができます(例外ハンドリングは使用していません。クローズ/ディスポーザルコールは使用しません。 refine/improve ...)
using System.Net;
WebClient webClient = new WebClient();
webClient.DownloadFile("http://www.domain.co.uk/prices.csv");
サービスの実行フローでファイルコンテンツが利用可能になると、あなたは好きなことをすることができます。
ウェブサービスコールの戻り値としてクライアントに返す必要がある場合は、DataSet
または他の任意のデータ構造を返すことができます。
hmmmm csvをデータテーブルに入れたいのであれば、datatable table = webClientを実行するのですか? – Beginner
WebRequestのドキュメントには、ストリームを使用する例があります。
public string GetCSV(string url)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(resp.GetResponseStream());
string results = sr.ReadToEnd();
sr.Close();
return results;
}
をし、それを分割する:
public static void SplitCSV()
{
List<string> splitted = new List<string>();
string fileList = getCSV("http://www.google.com");
string[] tempStr;
tempStr = fileList.Split(',');
foreach (string item in tempStr)
{
if (!string.IsNullOrWhiteSpace(item))
{
splitted.Add(item);
}
}
}
CSVパーサの多くがありますが、ストリームを使用すると、あなたはあなたが使用することができ
Sebastien Lorion's CSV Readerには、Streamをとるコンストラクタがあります。
あなたがこれを使用することを決定した場合、あなたの例になるでしょう:
void GetCSVFromRemoteUrl(string url)
{
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
using (CsvReader csvReader = new CsvReader(response.GetResponseStream(), true))
{
int fieldCount = csvReader.FieldCount;
string[] headers = csvReader.GetFieldHeaders();
while (csvReader.ReadNextRecord())
{
//Do work with CSV file data here
}
}
}
ever popular FileHelpersまた、あなたは、ストリームから直接読み取ることができます。
- 1. CSVファイルを読み込んでCSVファイルに書き込む
- 2. csvファイルをDataTableに読み込む
- 3. CSVファイルを辞書に読み込む?
- 4. csvファイルを配列に読み込む
- 5. .csvファイルをPythonリストに読み込む
- 6. Tableau - URLから直接CSVデータを読み込む方法
- 7. CSVからテンプレートベクターを読み込む
- 8. ウェブサイトからcsvファイルをC++に読み込む
- 9. 一度にzipファイルからCSVを読み込む
- 10. dask:Microsoft Azure BLOBからDataFrameにCSVファイルを読み込む方法
- 11. CSVファイルからneo4j DBにデータを読み込むJavaコード
- 12. MATLABでCSVファイルを読み込む?
- 13. ファイルから読み込む
- 14. ファイルから読み込む
- 15. C++ .csvファイルからの読み込み
- 16. GCP Dataflow-ストレージからCSVファイルを読み込み、BigQueryに書き込む
- 17. Logstashはフォルダ(* .csv)からcsvファイルを読み込みません
- 18. R3.4.1複数の.csvファイルからデータを読み込む
- 19. フォルダ内の複数のcsvファイルからtimeseriesを読み込む:
- 20. csvファイルからコンマを含むリストを列として読み込む方法は?私は、データを以下の含まれたCSVファイル読み込みたい
- 21. pythonでファイルからURLを読み込む?
- 22. URLから直接PNGファイルを読み込む
- 23. ファイルから読み込み、Javaのファイルに書き込む
- 24. Python - S3バケットから取得したCSVファイルを読み込むには?
- 25. csvファイルから日付をカスタム形式で読み込むには?
- 26. .csvファイルをjavaの配列リストに読み込む方法は?
- 27. ファイルから配列を読み込む
- 28. perlをindex.htmlファイルから読み込む
- 29. ファイルからツリーマップを読み込む(Java)?
- 30. ファイルからテキストを読み込む
CSVファイルをダウンロードしないでください。どのようにそれを読むことを期待していますか?あるいは、最初に全部をダウンロードすることなく、その一部を読むことを意味します。 –
クライアント側またはサーバー側を行いますか? – miniBill
ダウンロードしても、ファイルがディスクに保存されているとは限りません。つまり、ダウンロードせずにファイルを読むことはできません。 – Botz3000