#json
#json
Вопрос:
Пожалуйста, я хочу сделать запрос для этого набора данных https://web.stanford.edu /~hastie/ElemStatLearn/наборы данных / простата.данные и получите их в формате json. Но когда я его запускаю, я получаю эту ошибку «Неожиданный символ, встречающийся при анализе значения: l. Path «, строка 1, позиция 1.». Ниже приведен код, который я написал с использованием C#
public class Prostate
{
public string lcavol { get; set; }
public string lweight { get; set; }
public string age { get; set; }
public string lbph { get; set; }
public string svi { get; set; }
public string lcp { get; set; }
public string gleason { get; set; }
public string pgg45 { get; set; }
public string lpsa { get; set; }
public string train { get; set; }
}
public async Task<Prostate> Data()
{
HttpClient client = new HttpClient();
var resp = await client.GetAsync("https://web.stanford.edu/~hastie/ElemStatLearn/datasets/prostate.data");
var repsStr = await resp.Content.ReadAsStringAsync();
var newdata = JsonConvert.DeserializeObject(repsStr);
Prostate somedata = (Prostate) newdata;
return somedata;
}
Ответ №1:
Я сохранил файл в формате txt и открыл его в Excel. Позже я сохранил его как csv, а затем прочитал его, используя этот код
public async Task<List<Prostate>> Files()
{
List<Prostate> prostates = new List<Prostate>();
var file = Path.Combine(Directory.GetCurrentDirectory(), "[path to file]");
string[] linesofdata = await System.IO.File.ReadAllLinesAsync(file);
foreach(string line in linesofdata){
string[] linewords = line.Split(',');
Prostate newprostate = new Prostate();
newprostate.lcavol = linewords[0];
newprostate.lweight = linewords[1];
newprostate.age = linewords[2];
newprostate.lbph = linewords[3];
newprostate.svi = linewords[4];
newprostate.lcp = linewords[5];
newprostate.gleason = linewords[6];
newprostate.pgg45 = linewords[7];
newprostate.lpsa = linewords[8];
newprostate.train = linewords[9];
prostates.Add(newprostate);
}
return prostates.ToList();
}