예를 들어 URL에 도착하는 웹 서비스를 만들려고합니다. www.domain.co.uk/prices.csv
그리고 csv 파일을 읽습니다. 이게 가능하고 어떻게? 이상적으로 csv 파일을 다운로드하지 않고?URL에서 CSV 파일을 읽는 방법?
답변
당신이 사용할 수있는 메모리에 모든 것을 저장하지 않고 문서를 구문 분석 할 수 있습니다 저기서 나는 너의 자신을 굴리는 것에 반대 할 것을 권할 것이다. FileHelpers은 좋은 것입니다.
어쨌든 전체 파일을 문자열로 읽는다면'WebRequest'의 추가적인 유연성을 필요로하지 않고 그냥' WebClient.DownloadString'. – Joey
은이어야합니다. 파일을 다운로드하십시오. 코드를 가져 오지 않고도 코드를 어떻게 든 원격으로 작성할 수있는 것은 아닙니다.
그런 의미라면 파일에 저장할 필요가 없습니다. WebClient
클래스를 사용하여 HTTP를 통해 리소스를 가져올 수 있습니다. 특히 DownloadString
method을보고 싶을 수 있습니다.
여기서 url은 csv 파일이있는 사이트이며 csvPath는 실제 파일을 전송할 위치입니다.
웹 서비스에서 WebClient 클래스를 사용하여 다음과 같은 파일을 다운로드 할 수 있습니다 (어떤 예외 처리도하지 않고 사용하거나 닫기/삭제하는 호출이 아니라 단지 사용할 수있는 아이디어를주고 싶음). 수정/개선 ...)
using System.Net;
WebClient webClient = new WebClient();
webClient.DownloadFile("http://www.domain.co.uk/prices.csv");
그런 다음 파일 내용을 서비스의 실행 흐름에서 사용할 수있게되면 원하는대로 할 수 있습니다.
웹 서비스 호출의 반환 값으로 클라이언트에 반환해야하는 경우 DataSet
또는 원하는 다른 데이터 구조를 반환 할 수 있습니다.
hmmmm 그래서 만약 내가 ctv를 datatable에 넣길 원한다면, 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에는 스트림을 사용하는 생성자가 있습니다. 당신이 사용하기로 결정하는 경우
, 귀하의 예제가 될 것이다 :
는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 파일을 읽는 방법?
- 2. 파이썬으로 csv 파일을 읽는 방법
- 3. .csv 파일을 읽는 중입니다.
- 4. C에서 URL에서 csv 파일을 읽는 가장 좋은 방법은 무엇입니까
- 5. fgets를 사용하여 .CSV 파일을 읽는 방법
- 6. Super CSV로 CSV 파일을 부분적으로 읽는 방법
- 7. iOS를 사용하여 CSV 파일을 읽는 방법
- 8. java에서 csv 파일을 읽는 라이브러리
- 9. CSV 파일을 반복하고 읽는 동안 새 CSV 파일을 만드시겠습니까?
- 10. CSV 파일을 읽는 중 문제가 발생했습니다.
- 11. CSV 파일에서 데이터를 읽는 방법
- 12. CSV 파일을 데이터 세트로 읽는 방법은 무엇입니까?
- 13. CSV 파일을 읽는 데 DAO를 사용합니까?
- 14. PHP가 csv 파일을 효과적으로 읽는 중
- 15. URL에서 이미지 메타 데이터를 읽는 방법?
- 16. 자바를 사용하여 아랍어 문자를 포함하는 csv 파일을 읽는 방법
- 17. ruby mechanize : 다운로드 한 이진 csv 파일을 읽는 방법
- 18. C#을 사용하여 불변의 csv 파일을 읽는 방법
- 19. URL에서 xml을 읽는 것
- 20. 안드로이드의 특정 URL에서 이미지를 읽는 방법
- 21. URL에서 매개 변수로 HashMark를 읽는 방법
- 22. 자바의 URL에서 JavaScript 응답을 읽는 방법
- 23. jquery를 사용하여 url에서 단어를 읽는 방법?
- 24. 오이에있는 파일을 읽는 방법
- 25. iPhone에서 파일을 읽는 방법?
- 26. Makefile에서 파일을 읽는 방법?
- 27. Excel 파일을 읽는 방법?
- 28. 파일을 거꾸로 읽는 방법?
- 29. Systemfolders에서 파일을 읽는 방법
- 30. 로그 파일을 읽는 방법
CSV 파일을 다운로드하지 않고? 어떻게 읽으 리라 기대합니까? 아니면 전체 내용을 먼저 다운로드하지 않고도 일부 내용을 읽는 것입니다. –
클라이언트 측 또는 서버 측을 원하십니까? – miniBill
다운로드한다고해서 생각하는대로 디스크에 파일을 저장하지 않아도된다는 의미는 아닙니다. 즉, 다운로드하지 않고 파일을 읽을 수는 없습니다. – Botz3000