public static void ExternalSortTest() { string csv = @"Id, Name, City 1, Tom, NY 2, Mark, NJ 3, Lou, FL 4, Smith, PA 5, Raj, DC "; StringBuilder csvOut = new StringBuilder(); using (var r = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() ) { using (var w = new ChoCSVWriter(csvOut) .WithFirstLineHeader() ) { w.Write(r.ExternalSort((e1, e2) => String.Compare(e1.Name, e2.Name))); } } Console.WriteLine(csvOut.ToString()); }
public IActionResult Index() { if (HybridSupport.IsElectronActive) { Electron.IpcMain.On("select-directory", async(args) => { var mainWindow = Electron.WindowManager.BrowserWindows.First(); var options = new OpenDialogOptions { Properties = new OpenDialogProperty[] { OpenDialogProperty.openFile } }; string[] files = await Electron.Dialog.ShowOpenDialogAsync(mainWindow, options); string csv = System.IO.File.ReadAllText(files[0]); StringBuilder sb = new StringBuilder(); using (var p = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() ) { using (var w = new ChoJSONWriter(sb)) w.Write(p); } string json = sb.ToString(); Electron.IpcMain.Send(mainWindow, "select-directory-reply", json); }); } return(View()); }
static void WriteDataTableTest() { string csv = @"Id, Name 1, Tom 2, Mark"; StringBuilder yaml = new StringBuilder(); using (var r = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() ) { var dt = r.AsDataTable(); dt.Print(); using (var w = new ChoYamlWriter(yaml) //.ReuseSerializerObject(false) .UseYamlSerialization(true) ) { w.Write(dt); } } using (var r = ChoYamlReader.LoadText(yaml.ToString()) ) { r.AsDataTable().Print(); } Console.WriteLine(yaml.ToString()); }
public StockInfo GetStockInfo(string command) { if (!command.StartsWith("/")) { throw new InvalidCommandExpressionException(); } command = command.Substring(1); var commandContext = GetCommandContext(command); if (!IsValidCommand(commandContext.Command)) { throw new InvalidCommandException(); } var stockUri = $"https://stooq.com/q/l/?s={commandContext.Argument}&f=sd2t2ohlcv&h&e=csv"; var stockCsv = _webClient.DownloadString(stockUri); var stockInfo = ChoCSVReader <StockInfo> .LoadText(stockCsv).WithFirstLineHeader().First(); if (stockInfo.Date == DateTime.MinValue) { throw new InvalidStockArgumentException(); } return(stockInfo); }
protected void Page_Load(object sender, EventArgs e) { var date = Request.QueryString["date"]; if (string.IsNullOrEmpty(date)) { date = DateTime.Now.AddDays(-1).ToString("dd/MM/yyyy"); } var wc = new WebClient(); var strUrl = "http://www.airqualityni.co.uk/data/download-data?ds[p][sqid]=76139&ds[p][format]=csv&ds[p][type]=Daily&ds[p][current-selector]=site&ds[s][parameter-group][0]=4&ds[s][measurement-type][0]=step1&ds[s][pollutant][0]=O3&ds[s][pollutant][1]=NO&ds[s][pollutant][2]=NO2&ds[s][pollutant][3]=NOXasNO2&ds[s][pollutant][4]=SO2&ds[s][pollutant][5]=CO&ds[s][pollutant][6]=GE10&ds[s][pollutant][7]=NV10&ds[s][pollutant][8]=V10&ds[s][pollutant][9]=PM25&ds[s][pollutant][10]=NV25&ds[s][pollutant][11]=V25&ds[s][pollutant][12]=GR10&ds[s][pollutant][13]=GR25&ds[s][pollutant][14]=13BDIENE&ds[s][pollutant][15]=BENZENE&ds[s][pollutant][16]=M_DIR&ds[s][pollutant][17]=M_SPED&ds[s][pollutant][18]=M_T&ds[s][statistic-type][0]=12&ds[s][date-range][start]={0}&ds[s][date-range][finish]={1}&ds[s][region][0]=415&ds[s][region][1]=416&ds[s][region][2]=419&ds[s][region][3]=421&ds[s][region][4]=425&ds[s][region][5]=426&ds[s][region][6]=428&ds[s][region][7]=430&ds[s][region][8]=431&ds[s][region][9]=434&ds[s][region][10]=435&ds[s][region][11]=436&ds[s][region][12]=438&ds[s][site][0]=9999"; strUrl = string.Format(strUrl, date, date); var strCsv = wc.DownloadString(strUrl); var sb = new StringBuilder(); using (var p = ChoCSVReader.LoadText(strCsv) .WithFirstLineHeader() ) { using (var w = new ChoJSONWriter(sb)) w.Write(p); } Response.ContentType = "application/json"; Response.AppendHeader("Access-Control-Allow-Origin", "*"); Response.Write(sb.ToString()); }
static void CSVToJSON1() { string csv = @"""""|""Rep Employee Name""|""Ship To Customer Number""|""""|""Ship To Customer Name""|""Patient Last Name""|""Patient First Name""|""Patient Location""|""""|""""|""""|""""|""Serial Number""|""Product Description -Used"" """" | ""CHRISTMAN, AMY"" | ""580788"" | ""4543"" | ""dfgfdgfdgdfgdfsgfdgdfg"" | """" | """" | """" | ""6025"" | ""5/13/2002 12:45:00 PM"" | ""5/13/2002 2:59:00 PM"" | ""7/2/2002 10:15:44 AM"" | """" | ""VAC"" ""34534534634"" | ""NAGORNY, WILLIAM"" | ""3453"" | ""363463"" | ""345435435"" | """" | """" | """" | ""6079"" | ""5/15/2002 7:39:51 AM"" | ""3/20/2002 11:00:00 AM"" | ""9/25/2002 8:18:32 AM"" | """" | ""VAC"" ""34634643634"" | ""MOORE, NICHOLAS (NICHO"" | ""654287"" | ""98188"" | ""asdfdsfdfasasdf"" | """" | """" | """" | ""6007"" | ""5/31/2002 2:45:16 PM"" | ""5/31/2002 3:51:00 PM"" | ""9/10/2002 10:51:55 AM"" | """" | ""VAC"""; StringBuilder json = new StringBuilder(); using (var p = ChoCSVReader.LoadText(csv) .WithDelimiter("|") .WithFirstLineHeader() .Configure(c => c.FileHeaderConfiguration.IgnoreColumnsWithEmptyHeader = true) .Configure(c => c.QuoteAllFields = true) .Configure(c => c.NullValue = "") ) { using (var w = new ChoJSONWriter(json) //.Configure(c => c.IgnoreFieldValueMode = ChoIgnoreFieldValueMode.Any) .Configure(c => c.NullValueHandling = ChoNullValueHandling.Ignore) ) { w.Write(p); } } Console.WriteLine(json.ToString()); }
private DataTable CreateTableEtl(string csv) { string[] headers = null; string[] columntypes = null; DataTable dt = new DataTable(); using (var reader = ChoCSVReader.LoadText(ConvertToWindowsEOL(csv), new ChoCSVRecordConfiguration() { MaxLineSize = int.MaxValue / 5, }).WithFirstLineHeader().QuoteAllFields()) { reader.Configuration.MayContainEOLInData = true; int rowIdx = 0; ChoDynamicObject e; while ((e = reader.Read()) != null) { if (rowIdx == 0) { headers = e.Keys.ToArray(); columntypes = e.Values.Select(p => p.ToString()).ToArray(); rowIdx = rowIdx + 1; for (int i = 0; i < headers.Length; i++) { dt.Columns.Add(headers[i], Type.GetType($"System.{columntypes[i]}", false, true)); } continue; } DataRow dr = dt.NewRow(); var columns = e.Values.ToList(); for (int i = 0; i < headers.Length; i++) { var cleaned = columns[i]?.ToString(); if (string.IsNullOrWhiteSpace(cleaned)) { dr[i] = DBNull.Value; } else if (string.Equals(columntypes[i], "byte[]", StringComparison.InvariantCultureIgnoreCase)) { dr[i] = HexStringToByteArray(cleaned); } else { dr[i] = cleaned; } } dt.Rows.Add(dr); } } return(dt); }
static void LoadTextTest() { string txt = "Id, Name\r\n1, Mark"; foreach (var e in ChoCSVReader.LoadText(txt).WithFirstLineHeader()) { Console.WriteLine(ChoUtility.ToStringEx(e)); } }
static void CreateParquetFile(string parquetFilePath, string csv) { using (var r = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() ) { using (var w = new ChoParquetWriter(parquetFilePath)) w.Write(r); } }
public void CSV_To_Json_Data_Load(string csvSource, string jsonDestination) { string csvData = File.ReadAllText(csvSource); StringBuilder stringBuilder = new StringBuilder(); using (var jsonDataValue = ChoCSVReader.LoadText(csvData).WithFirstLineHeader()) { using (var data = new ChoJSONWriter(stringBuilder)) data.Write(jsonDataValue); } File.WriteAllText(jsonDestination, stringBuilder.ToString()); }
public void POCOTest1() { string csv = @"Id, Name 1, Raj , "; foreach (var rec in ChoCSVReader <EmployeeRec> .LoadText(csv)) { Trace.WriteLine(rec.ToString()); } Assert.IsTrue(true); }
public void CSVToJson_Data_Load_And_Sort_By_Numeric_key(string csvSource, string jsonDestination, string sortJson, string key) { string csvData = File.ReadAllText(csvSource); StringBuilder stringBuilder = new StringBuilder(); using (var jsonDataValue = ChoCSVReader.LoadText(csvData).WithFirstLineHeader()) { using (var data = new ChoJSONWriter(stringBuilder)) data.Write(jsonDataValue); } File.WriteAllText(jsonDestination, stringBuilder.ToString()); obj.SortingForCSVFileForNum(jsonDestination, sortJson, key); }
//// Method Convert Csv file to Json file public static void ConvertCsvFileToJsonObject(string cSVFile, string jsonFile) { string reader = File.ReadAllText(cSVFile); StringBuilder sb = new StringBuilder(); using (var value = ChoCSVReader.LoadText(reader).WithFirstLineHeader()) { using var w = new ChoJSONWriter(sb); w.Write(value); } File.WriteAllText(jsonFile, sb.ToString()); }
//Loads a CSV up and converts/outputs it to a Json file private void WriteCSVToJson(string path, string outputName) { var csv = File.ReadAllText(path); StringBuilder json = new StringBuilder(); using (var p = ChoCSVReader.LoadText(csv).WithFirstLineHeader(false).ThrowAndStopOnMissingField(false).QuoteAllFields(true).IgnoreFieldValueMode(ChoIgnoreFieldValueMode.None)) { using (var w = new ChoJSONWriter(json)) w.Write(p); } File.WriteAllText(outputName, json.ToString(), Encoding.UTF8); }
public void CSVStateCensusJsonDataLoad() { StateCensusAnalyser obj = new StateCensusAnalyser(); string path = @"D:\Anoop_kumar\CensusAnalyzer\CensusAnalyzer\File\StateCensusData.csv"; //obj.SortingForCSVFile(path, "State"); string csvData = File.ReadAllText(path); StringBuilder stringBuilder = new StringBuilder(); using (var jsonDataValue = ChoCSVReader.LoadText(csvData).WithFirstLineHeader()) { using (var data = new ChoJSONWriter(stringBuilder)) data.Write(jsonDataValue); } File.WriteAllText(@"D:\Anoop_kumar\CensusAnalyzer\CensusAnalyzer\StateCensusData.json", stringBuilder.ToString()); }
//[Test] public void POCOTest1() { System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.GetCultureInfo("us-en"); string csv = @"Id, Name 1, Raj , "; foreach (var rec in ChoCSVReader <EmployeeRec> .LoadText(csv)) { Trace.WriteLine(rec.ToString()); } Assert.IsTrue(true); }
private Task ReadFromFileAsync(string filename) { return(Task.Run(() => { string csv = File.ReadAllText(filename); StringBuilder sb = new StringBuilder(); using (var p = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() ) { using (var w = new ChoJSONWriter(sb)) w.Write(p); } _charges = JsonConvert.DeserializeObject <List <FuelCharge> >(sb.ToString()); })); }
public static JObject GetCsvToJson(string location) { StringBuilder sb = new StringBuilder( ); using (var p = ChoCSVReader.LoadText(location) .WithFirstLineHeader( ) ) { using (var w = new ChoJSONWriter(sb)) w.Write(p); } JArray jsonArray = JArray.Parse(sb.ToString( )); JObject json = JObject.Parse(jsonArray[1].ToString( )); return(json); }
static void StageCSVFile() { string csv = @"Id, Name, City 1, Tom, NY 2, Mark, NJ 3, Lou, FL 4, Smith, PA 5, Raj, DC "; using (var r = ChoCSVReader <Emp> .LoadText(csv) .WithFirstLineHeader()) { r.StageOnSQLite(); } }
static void CSVArrayToParquet() { string csv = @"id,name,friends/0,friends/1 1,Tom,Dick,Harry"; using (var r = ChoCSVReader.LoadText(csv).WithFirstLineHeader() //.Configure(c => c.AutoArrayDiscovery = true) //.Configure(c => c.ArrayIndexSeparator = '/') ) { using (var w = new ChoParquetWriter("CSVArrayToParquet.parquet")) { w.Write(r); } } }
//Coverting CSV To JSON public void ConvertingCSVToJSON(string path, string destination) { //Read CSV Data string csv = File.ReadAllText(path); StringBuilder builder = new StringBuilder(); using (var p = ChoCSVReader.LoadText(csv).WithFirstLineHeader()) { var w = new ChoJSONWriter(builder); w.Write(p); } //Data Storing In Destination Path(File) File.WriteAllText(destination, builder.ToString()); }
/// <summary> /// Sorts the CSV file write in json and return number of states sorted. /// </summary> /// <param name="filePath">The file path.</param> /// <param name="jsonFilepath">The json filepath.</param> /// <param name="key">The key.</param> /// <returns></returns> public static int SortCSVFileOnNumberAndWriteInJsonAndReturnNumberOfStatesSorted(string filePath, string jsonFilepath, string key) { string re = File.ReadAllText(filePath); StringBuilder sb = new StringBuilder(); using (var p = ChoCSVReader.LoadText(re) .WithFirstLineHeader() ) { using (var w = new ChoJSONWriter(sb)) w.Write(p); } File.WriteAllText(jsonFilepath, sb.ToString()); int count = CSVOperations.SortJsonBasedOnKeyAndReturnNumberOfStatesSorted(jsonFilepath, key); return(count); }
//Method to sorting the least populated state. public static string ReturnDataNumberOfStatesSortLowestCSVFileAndWriteInJson(string filePath, string jsonFilepath, string key) { string readFile = File.ReadAllText(filePath); StringBuilder stringbuilder = new StringBuilder(); using (var reader = ChoCSVReader.LoadText(readFile) .WithFirstLineHeader()) { using (var writer = new ChoJSONWriter(stringbuilder)) writer.Write(reader); } File.WriteAllText(jsonFilepath, stringbuilder.ToString()); JArray array = CsvStateCensusReadRecord.SortJsonBasedOnKeyAndValueIsNumber(jsonFilepath, key); var jsonArray = JsonConvert.SerializeObject(array, Formatting.Indented); File.WriteAllText(jsonFilepath, jsonArray); return(CsvStateCensusReadRecord.RetriveFirstDataOnKey(jsonFilepath, key)); }
public string ConvertToJson() { string path = Mapper.MapFile("~/input_cut.csv"); var csv = File.ReadAllText(path); StringBuilder sb = new StringBuilder(); using (var p = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() ) { using (var w = new ChoJSONWriter(sb)) w.Write(p); } return(sb.ToString()); }
static void QuickTest() { string csv = @"Id, Name 1, Tom 2, Mark"; using (var r = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() .WithMaxScanRows(2) .QuoteAllFields() ) { using (var w = new ChoParquetWriter("quicktest.parquet")) { w.Write(r); } } }
/// <summary> /// Method to write the last state data using json /// </summary> /// <param name="filePath"></param> /// <param name="jsonFilepath"></param> /// <param name="key"></param> /// <returns></returns> public static string ReturnLastDataAfterSortingCsvFileWriteInJson(string filePath, string jsonFilepath, string key) { string readFile = File.ReadAllText(filePath); StringBuilder stringbuilder = new StringBuilder(); using (var loadText = ChoCSVReader.LoadText(readFile) .WithFirstLineHeader()) { using (var writer = new ChoJSONWriter(stringbuilder)) writer.Write(loadText); } File.WriteAllText(jsonFilepath, stringbuilder.ToString()); JArray array = CensusAnalyser.SortingJsonBasedOnKey(jsonFilepath, key); // serialize JSON to a string and then write string to a file var jsonArray = JsonConvert.SerializeObject(array, Formatting.Indented); File.WriteAllText(jsonFilepath, jsonArray); return(CensusAnalyser.RetriveLastDataOnKey(jsonFilepath, key)); }
public void SaveHiscores(string CsvString, string PlayerName) { // Sets up the initialization of StringBuilder which we will use to make the json StringBuilder sb = new StringBuilder(); // Loads the csv string and does some setup methods to prevent it from f*****g up. try { using (var p = ChoCSVReader.LoadText(CsvString).Setup(q => q.DoWhile += (o, e) => { // get the source eg the string. string line = e.Source as string; Debug.WriteLine(line); // Stop processing the string when a -1 is encountered. This is so the program doesn't break // If there is a -1,-1 in the CSV instead of a -1,-1,-1 as there are three headers. e.Stop = line.EndsWith(" -1,-1 "); }) // Sets up the three headers which the values will be listed under. .WithField("Rank", position: 1) .WithField("Level", position: 2) .WithField("Total XP", position: 3) ) { using (var w = new ChoJSONWriter(sb)) { // Gets the current directory of the .exe and then the Players folder inside of that. string Folder = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Players\"; //Create "Players" Directory if it doesn't already exist. Directory.CreateDirectory(Folder); using (var parser = new ChoJSONWriter(Folder + PlayerName + ".json")) { // Writes all the information that the variable p holds // In this case the complete CSV -> Json conversion parser.Write(p); } } } } catch (Exception e) { } }
static void NestedObjectTest() { string csv = @"AccountId, Name, Jan, Feb, Mar, Dec 1, Anne, 1000.00, 400.00, 500.00,200.00 2, John, 900.00, 500.00, 500.00,1200.00 3, Brit, 600.00, 600.00, 500.00,2200.00"; StringBuilder sb = new StringBuilder(); using (var p = ChoCSVReader <AccountBalance> .LoadText(csv) .WithFirstLineHeader(true) .WithField(m => m.lastTwelveMonths, valueSelector: v => { List <string> list = new List <string>(); //list.Add(v.Column5); list.Add(v.Jan); list.Add(v.Feb); list.Add(v.Mar); list.Add(v.Dec); return(list); }) ) { var x = p.ToArray(); using (var w = new ChoFixedLengthWriter <AccountBalance>(sb) .WithFirstLineHeader() .WithField("ID", 1, 5) .WithField("Name", 6, 5) .WithField(f => f.lastTwelveMonths, 10, 5, fieldName: "Mon,Tue", valueSelector: v => { return("1,2"); }) ) { w.Write(p); } //foreach (var rec in p) // Console.WriteLine(rec.Dump()); } Console.WriteLine(sb.ToString()); }
public void AsDataReaderTest() { string csv = @"Id, Name 2, Tom 3, "; var dr = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() .WithField("Id") .WithField("Name", valueConverter: (o) => o == null ? String.Empty : o) .Configure(c => c.IgnoreFieldValueMode = ChoIgnoreFieldValueMode.Any) .AsDataReader(); while (dr.Read()) { var x = dr[1]; } Assert.IsTrue(true); }
static void Test1() { string csv = @"Cust_ID,CustName,CustOrder,Salary,Guid TCF4338,INDEXABLE CUTTING TOOL,4/11/2016,""$100,000"",56531508-89c0-4ecf-afaf-cdf5aec56b19 CGO9650,Comercial Tecnipak Ltda,7/11/2016,""$80,000"",56531508-89c0-4ecf-afaf-cdf5aec56b19"; ChoTypeConverterFormatSpec.Instance.TreatCurrencyAsDecimal = false; using (var r = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() .WithMaxScanRows(2) .QuoteAllFields() ) { using (var w = new ChoParquetWriter("test1.parquet")) { w.Write(r); } } }