public void SortDescendingTest() { var rawData = BuildTestCSVData(); CSVData data = new CSVData(rawData.Item1, rawData.Item2); int aIdx = rawData.Item1.IndexOf("A"); int dIdx = rawData.Item1.IndexOf("D"); data.SortDescending(row => new Tuple <string, string>(row[dIdx], row[aIdx])); List <List <string> > rows = new List <List <string> >(); rows.Add(new List <string>() { "a", "b", "c", "d", "2.5" }); rows.Add(new List <string>() { "a", "b", "c", "e", "2.5" }); rows.Add(new List <string>() { "a", "b", "c", "e", "2.5" }); rows.Add(new List <string>() { "b", "e", "c", "e", "2.5" }); rows.Add(new List <string>() { "a", "c", "b", "f", "2.5" }); rows.Add(new List <string>() { "b", "c", "b", "f", "2.5" }); rows.Add(new List <string>() { "b", "c", "b", "f", "2.5" }); rows.Reverse(); CSVData test = new CSVData(rawData.Item1, rows); AssertCSVEqual(test, data); }
public void MapRowsTest() { var rawData = BuildTestCSVData(); CSVData data = new CSVData(rawData.Item1, rawData.Item2); int bIdx = rawData.Item1.IndexOf("B"); int cIdx = rawData.Item1.IndexOf("C"); List <string> ret = data.MapRows(row => row[bIdx] + row[cIdx]); Assert.AreEqual("bc,bc,cb,cb,cb,bc,ec", String.Join(",", ret)); List <int> ret2 = data.MapRows((List <string> row) => row.Count); Assert.AreEqual(ret2.Distinct().ToList().Count, 1); Assert.AreEqual(ret2.Distinct().ToList()[0], data.ColsCount); }
private void prepareInsertStatement(string state, string tb, string pFields) { List <DBClause> cs = new List <DBClause>(); CSVData data = CSVData.ParseString(string.Join(Environment.NewLine, state), true); all = data.Items; List <string> c = new List <string>(); string[] flds; flds = pFields.Split(System.Convert.ToChar(",")); foreach (string s in flds) { cs.Add(DBParam.ParamWithDelegate(() => itm[data.GetOffset(s)])); c.Add(s); } insert = DBQuery.InsertInto(tb).Fields(c.ToArray()).Values(cs.ToArray()); }
public void GroupByTest1() { var rawData = BuildTestCSVData(); CSVData data = new CSVData(rawData.Item1, rawData.Item2); Dictionary <string, Func <List <string>, string> > mapper = new Dictionary <string, Func <List <string>, string> >(); mapper["E"] = xs => xs.Select(x => Double.Parse(x)).Sum().ToString(); mapper["C"] = xs => String.Join("$", xs.Distinct().Select(x => xs.Count(y => y == x).ToString() + x)); data.GroupBy(new List <string>() { "A" }, mapper); Assert.AreEqual("A|E|C#a|10|3c$1b#b|7.5|2b$1c", data.ToEscapedDelimitedString("|", "{", "}", "#")); }
static void Main(string[] args) { string sourceFileName = @"C:\Users\msaddique\Downloads\unityPackageNameAndLink.txt"; string newFileName = @"d:\Link.txt"; List <string> mainDataList = new List <string>(); List <string> getReponseList = new List <string>(); List <CSVData> CSVStructDataList = new List <CSVData>(); //var test1 = ReadTextFileDirect(@"C:\Users\Shahid\Downloads\temp.html"); //listofCSV = ReadTextFileDirect(@"C:\Users\Shahid\Downloads\temp.html").Split('@').ToList(); mainDataList = ReadTextFileDirect(sourceFileName).Split('@').ToList(); char delimiter = ','; int i = 0; string temp = string.Empty; foreach (var item in mainDataList) { var tempData = new CSVData(); if (i % 2 == 0) { temp = item; } if (i % 2 == 1) { string temp1 = item; tempData.packageName = temp; tempData.packageDownloadLink = item; tempData.packageResponseData = HtmlStringAsync(item).Replace("<META HTTP-EQUIV=REFRESH CONTENT=", string.Empty).Replace("\"1;", string.Empty).Replace("\">", string.Empty).Trim(); CSVStructDataList.Add(tempData); } i++; } var result = WriteTextFile(newFileName, CSVStructDataList); //HtmlStringAsync(); //ExtractTablefromHTML(); Console.ReadLine(); }
[Test] public void CSVRaw() { var csv_string = "One,Two,Three\n" + "\"Quoted\",,\r\n" + "# Comment Line\r" + "Four,# Not a Comment,\"# Also\r\n# Not,\n# A\r\n# Comment\""; using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(csv_string), false)) { var load = CSVData.Load(ms, ignore_comment_rows: true); Assert.Equal(load.RowCount, 3); Assert.True(load[0].SequenceEqual(new[] { "One", "Two", "Three" })); Assert.True(load[1].SequenceEqual(new[] { "Quoted", "", "" })); Assert.True(load[2].SequenceEqual(new[] { "Four", "# Not a Comment", "# Also\r\n# Not,\n# A\r\n# Comment" })); } }
public void FilterTest1() { var rawData = BuildTestCSVData(); CSVData test = new CSVData(rawData.Item1, rawData.Item2); int origRowsCount = test.RowsCount; int bIdx = rawData.Item1.IndexOf("B"); int cIdx = rawData.Item1.IndexOf("C"); CSVData data = test.Filter(row => row[bIdx] == "e" && row[cIdx] == "c"); Assert.AreEqual(data.RowsCount, 1); Assert.AreEqual(test.RowsCount, origRowsCount); data.GetRow(0).SequenceEqual(rawData.Item2.Last()); }
public Account(string acct_filename, decimal final_balance) { m_acct_name = Path.GetFileNameWithoutExtension(acct_filename); m_final_balance = final_balance; m_start_date = DateTime.MaxValue; CSVData csv = CSVData.Load(acct_filename); foreach (var row in csv.Rows) { Transaction trans = new Transaction(row); m_transactions.Add(trans); if (trans.m_date < m_start_date) { m_start_date = trans.m_date; } } }
public void GetColumnTest() { var rawData = BuildTestCSVData(); CSVData data = new CSVData(rawData.Item1, rawData.Item2); int cIdx = rawData.Item1.IndexOf("C"); CSVData C_CSVData = new CSVData(new List <string>() { "C" }, rawData.Item2.Select(r => new List <string>() { r[cIdx] }).ToList()); CSVData col = data.GetColumn("C"); AssertCSVEqual(col, C_CSVData); }
private static String getOutTime(CSVData item) { // sequence is In1, Out1, In2, Out2 and so on... if (item.Out5 != "") { return(item.Out5); } else if (item.In5 != "") { return(item.In5); } else if (item.Out4 != "") { return(item.Out4); } else if (item.In4 != "") { return(item.In4); } else if (item.Out3 != "") { return(item.Out3); } else if (item.In3 != "") { return(item.In3); } else if (item.Out2 != "") { return(item.Out2); } else if (item.In2 != "") { return(item.In2); } else if (item.Out1 != "") { return(item.Out1); } else { return(item.In1); } }
public static void Load(Stream stream) { if (stream == null) { return; } CSVData data = CSVLoader.Load(stream); for (int i = 0; i < data.RowCount; ++i) { var row = data.GetRow(i); var id = row.GetInt(_ID); var pic = row.GetString(_Pic); var cost = row.GetInt(_Cost); var tmprow = new shopElements(id, pic, cost); m_elements.Add(tmprow); } }
public void AddColumnsTest() { var rawData = BuildTestCSVData(); CSVData data = new CSVData(rawData.Item1, rawData.Item2); int bIdx = rawData.Item1.IndexOf("B"); int cIdx = rawData.Item1.IndexOf("C"); data.AddColumns(new List <string>() { "F", "G" }, row => new List <string>() { row[bIdx] + row[cIdx], row[cIdx] + row[bIdx] }); Assert.AreEqual(String.Join(",", data.GetColumnRaw("F")), "bc,bc,cb,cb,cb,bc,ec"); Assert.AreEqual(String.Join(",", data.GetColumnRaw("G")), "cb,cb,bc,bc,bc,cb,ce"); }
public void Load(string filename) { bool is_first = true; StreamReader reader = new StreamReader(filename); int count = 0; while (!reader.EndOfStream) { var line = reader.ReadLine(); if (line.Length <= 3) { continue; } if (line[0] == '#') { continue; } var values = line.Split(','); if (values.Length < 3) { continue; } if (values[0] == "Time") { continue; } CSVData data = new CSVData(); data.timestamp = Convert.ToDouble(values[0]); if (is_first) { start_tm = data.timestamp; is_first = false; } data.time = data.timestamp - start_tm; data.v1 = Convert.ToDouble(values[1]); data.v2 = Convert.ToDouble(values[2]); data.v3 = Convert.ToDouble(values[3]); count++; total_tm = data.time; m_csv_data.Add(count, data); } number = m_csv_data.Count; }
public void SortTest1() { var rawData = BuildTestCSVData(); CSVData data = new CSVData(rawData.Item1, rawData.Item2); data.Sort(row => new Tuple <string, string>(row["D"], row["A"])); List <List <string> > rows = new List <List <string> >(); rows.Add(new List <string>() { "a", "b", "c", "d", "2.5" }); rows.Add(new List <string>() { "a", "b", "c", "e", "2.5" }); rows.Add(new List <string>() { "a", "b", "c", "e", "2.5" }); rows.Add(new List <string>() { "b", "e", "c", "e", "2.5" }); rows.Add(new List <string>() { "a", "c", "b", "f", "2.5" }); rows.Add(new List <string>() { "b", "c", "b", "f", "2.5" }); rows.Add(new List <string>() { "b", "c", "b", "f", "2.5" }); CSVData test = new CSVData(rawData.Item1, rows); AssertCSVEqual(test, data); }
/// <summary> /// F5 リボン CSV出力 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnF5Key(object sender, KeyEventArgs e) { if (this.SearchResult == null) { return; } if (this.SearchResult.Rows.Count == 0) { this.ErrorMessage = "印刷データがありません。"; return; } if (this.spGridList.ActiveCellPosition.Row < 0) { MessageBox.Show("検索データがありません。"); return; } WinForms.SaveFileDialog sfd = new WinForms.SaveFileDialog(); // はじめに表示されるフォルダを指定する sfd.InitialDirectory = @"C:\"; // [ファイルの種類]に表示される選択肢を指定する sfd.Filter = "CSVファイル(*.csv)|*.csv|すべてのファイル(*.*)|*.*"; // 「CSVファイル」が選択されているようにする sfd.FilterIndex = 1; // タイトルを設定する sfd.Title = "保存先のファイルを選択してください"; // ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする sfd.RestoreDirectory = true; if (sfd.ShowDialog() == WinForms.DialogResult.OK) { // 不要な行を削除する DataTable csvDt = SearchResult.Copy(); csvDt.Columns.Remove("str品番コード"); // CSVファイル出力 CSVData.SaveCSV(csvDt, sfd.FileName, true, true, false, ',', true); MessageBox.Show("CSVファイルの出力が完了しました。"); } }
public void AddRowsTest() { var rawData = BuildTestCSVData(); CSVData data = new CSVData(rawData.Item1, rawData.Item2); var newRow1 = rawData.Item1.Select(x => "TestRow1").ToList(); var newRow2 = rawData.Item1.Select(x => "TestRow2").ToList(); var newRows = new List <List <string> >() { newRow1, newRow2 }; data.AddRows(newRows); var test = data.GetRowsRangeRaw(data.RowsCount - 2, 2); Assert.IsTrue(test[0].SequenceEqual(newRow1)); Assert.IsTrue(test[1].SequenceEqual(newRow2)); }
public void MapRowsTest3() { var rawData = BuildTestCSVData(); CSVData data = new CSVData(rawData.Item1, rawData.Item2); CSVData ret = data.MapRows(new List <string>() { "keys" }, row => new List <string>() { row["B"] + row["C"] }); Assert.AreEqual("bc,bc,cb,cb,cb,bc,ec", String.Join(",", ret.GetColumnRaw("keys"))); List <int> ret2 = data.MapRows((List <string> row) => row.Count); Assert.AreEqual(ret2.Distinct().ToList().Count, 1); Assert.AreEqual(ret2.Distinct().ToList()[0], data.ColsCount); }
/// <summary> /// CSVファイル出力 /// </summary> /// <param name="tbl"></param> private void OutPutCSV(DataTable tbl) { System.Windows.Forms.SaveFileDialog sfd = new System.Windows.Forms.SaveFileDialog(); //はじめに表示されるフォルダを指定する sfd.InitialDirectory = @"C:\"; //[ファイルの種類]に表示される選択肢を指定する sfd.Filter = "CSVファイル(*.csv)|*.csv|すべてのファイル(*.*)|*.*"; //「CSVファイル」が選択されているようにする sfd.FilterIndex = 1; //タイトルを設定する sfd.Title = "保存先のファイルを選択してください"; //ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする sfd.RestoreDirectory = true; if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { //CSVファイル出力 CSVData.SaveCSV(tbl, sfd.FileName, true, true, false, ','); MessageBox.Show("CSVファイルの出力が完了しました。"); } }
public void Load(Stream stream) { if (stream == null) { return; } CSVData data = CSVLoader.Load(stream); bool isPass = data.isAllColumnNameExists(m_colomuns); //检查所有列名是否都存在 for (int i = 0; i < data.RowCount; ++i) { var row = data.GetRow(i); int tmpID = row.GetInt(csID); if (tmpID > maxID) { maxID = tmpID; } m_elements.Add(row); } }
public static void Load(Stream stream) { if (stream == null) { return; } CSVData data = CSVLoader.Load(stream); for (int i = 0; i < data.RowCount; ++i) { var row = data.GetRow(i); var id = row.GetInt(_ID); var roleid = row.GetInt(_roleID); var lvMin = row.GetInt(_lvMin); var lvMax = row.GetInt(_lvMax); var tmprow = new levMonster(id, roleid, lvMin, lvMax); m_elements.Add(tmprow); } }
[Test] public void CSVRoundTrip() { var csv = new CSVData(); csv.AddComment("This is a CSV file comment"); csv.Add("One", "Two", "Three", "\"Four\"", "\",\r\n\""); csv.Add("1,1", "2\r2", "3\n3", "4\r\n"); csv.Add(new CSVData.Row()); csv.Add("1,1", "2\r2", "3\n3", "4\r\n"); var tmp = Path.GetTempFileName(); csv.Save(tmp); try { var load = CSVData.Load(tmp, ignore_comment_rows: true); csv.Rows.RemoveAt(0); // Delete the comment Assert.Equal(csv.RowCount, load.RowCount); for (var i = 0; i != csv.RowCount; ++i) { var r0 = csv[i]; var r1 = load[i]; Assert.Equal(r0.Count, r1.Count); for (var j = 0; j != r0.Count; ++j) { var e0 = r0[j]; var e1 = r1[j]; Assert.Equal(e0, e1); } } } finally { File.Delete(tmp); } }
public static void Load(Stream stream) { if (stream == null) { return; } CSVData data = CSVLoader.Load(stream); for (int i = 0; i < data.RowCount; ++i) { var row = data.GetRow(i); var id = row.GetInt(_ID); var roleid = row.GetInt(_roleID); var atk = row.GetInt(_Atk); var def = row.GetInt(_Def); var hp = row.GetInt(_MaxHp); var ele = row.GetInt(_Ele); var tmprow = new rolePro(id, roleid, atk, def, hp, ele); m_elements.Add(tmprow); } }
static IDictionary <int, TimeSpan> AddStatisticsNoUpload(string pathToData, ConcurrentDictionary <int, ExperimentEntity> experiments, AzureExperimentStorage storage) { List <int> missingExperiments = new List <int>(); ConcurrentDictionary <int, TimeSpan> experimentInfo = new ConcurrentDictionary <int, TimeSpan>(); Directory.EnumerateFiles(pathToData, "*.zip") .AsParallel() .ForAll(file => { int expId = int.Parse(Path.GetFileNameWithoutExtension(file)); ExperimentEntity e; if (!experiments.TryGetValue(expId, out e)) { missingExperiments.Add(expId); Console.WriteLine("Experiment {0} has results but not metadata"); return; } CSVData table = new CSVData(file, (uint)expId); var totalRunTime = table.Rows.Sum(r => r.Runtime); e.TotalRuntime = totalRunTime; e.CompletedBenchmarks = e.TotalBenchmarks = table.Rows.Count; Console.WriteLine("Done for {0}", expId); }); if (missingExperiments.Count > 0) { Console.WriteLine("\nFollowing experiments have results but not metadata:"); foreach (var item in missingExperiments) { Console.WriteLine(item); } } return(experimentInfo); }
void Start() { CSVData[] cSVDatas = new CSVData[1000]; for (int i = 0; i < 1000; i++) { cSVDatas[i] = new CSVData(ClockWork.GetPSATime, PSAConstants.MAIN_SCENE_MODULE, ClockWork.AppendMap(PSAConstants.MAIN_SCENE_MODULE)); } CSVParser.Instance.SaveDataToCSV(cSVDatas); for (int i = 0; i < 1000; i++) { cSVDatas[i] = new CSVData(ClockWork.GetPSATime, PSAConstants.SHOPPING_SCENE_MODULE, ClockWork.AppendMap(PSAConstants.SHOPPING_SCENE_MODULE)); } CSVParser.Instance.SaveDataToCSV(cSVDatas); for (int i = 0; i < 1000; i++) { cSVDatas[i] = new CSVData(ClockWork.GetPSATime, PSAConstants.SHOWCASE_SCENE_MODULE, ClockWork.AppendMap(PSAConstants.SHOWCASE_SCENE_MODULE)); } CSVParser.Instance.SaveDataToCSV(cSVDatas); //Debug.Log(CSVParser.Instance.IsDataEmpty); //foreach (var item in CSVParser.Instance.GetAllDataFromCSV()) // Debug.Log(item); }
/// <summary> /// CSVファイル出力 /// </summary> /// <param name="tbl"></param> private void OutPutCSV(DataTable tbl) { if (tbl.Rows.Count < 1) { this.ErrorMessage = "対象データが存在しません。"; return; } WinForms.SaveFileDialog sfd = new WinForms.SaveFileDialog(); // はじめに表示されるフォルダを指定する sfd.InitialDirectory = @"C:\"; // [ファイルの種類]に表示される選択肢を指定する sfd.Filter = "CSVファイル(*.csv)|*.csv|すべてのファイル(*.*)|*.*"; // 「CSVファイル」が選択されているようにする sfd.FilterIndex = 1; // タイトルを設定する sfd.Title = "保存先のファイルを選択してください"; // ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする sfd.RestoreDirectory = true; if (sfd.ShowDialog() == WinForms.DialogResult.OK) { // カラム名を変更 tbl.Columns["通常税率対象支払額"].ColumnName = "仕入(通常)"; tbl.Columns["軽減税率対象支払額"].ColumnName = "仕入(軽減)"; tbl.Columns["非課税支払額"].ColumnName = "仕入(非課税)"; tbl.Columns["通常税消費税"].ColumnName = "消費税(通常)"; tbl.Columns["軽減税消費税"].ColumnName = "消費税(軽減)"; tbl.Columns["税込支払額"].ColumnName = "通常分計"; tbl.Columns["軽減税込支払額"].ColumnName = "軽減分計"; tbl.Columns["当月支払額"].ColumnName = "当月仕入額"; // CSVファイル出力 CSVData.SaveCSV(tbl, sfd.FileName, true, true, false, ','); MessageBox.Show("CSVファイルの出力が完了しました。"); } }
public static CSVData Load(Stream stream, Encoding encoding, char seperator = ',') { CSVData result; var reader = new StreamReader(stream, encoding); string columnNames; do { columnNames = reader.ReadLine(); } //update by csd 跳过由半角与全角空格组成的空行 while ((isNullLine(columnNames) == true) || (columnNames.StartsWith("``"))); //update end //while (columnNames.StartsWith("``")); result = new CSVData(columnNames, seperator); string row; while (reader.EndOfStream == false) { row = reader.ReadLine(); if (row.StartsWith("``")) { continue; } //add by csd 跳过空行 if (isNullLine(row)) { continue; } //add end result.Add(row, seperator, encoding); } reader.Close(); return(result); }
public void DropDuplicatesTest() { var rawData = BuildTestCSVData(); CSVData data = new CSVData(rawData.Item1, rawData.Item2); data.DropDuplicates(); Assert.AreEqual(data.RowsCount, rawData.Item2.Count - 2); List <List <string> > rows = new List <List <string> >(); rows.Add(new List <string>() { "a", "b", "c", "d", "2.5" }); rows.Add(new List <string>() { "a", "b", "c", "e", "2.5" }); rows.Add(new List <string>() { "a", "c", "b", "f", "2.5" }); rows.Add(new List <string>() { "b", "c", "b", "f", "2.5" }); rows.Add(new List <string>() { "b", "e", "c", "e", "2.5" }); CSVData test = new CSVData(rawData.Item1, rows); AssertCSVEqual(test, data); }
public Rotater(string path, Transform _body) { string[] strings = File.ReadAllLines(path); List <string> stringFinal = new List <string>(); foreach (string str in strings) { if (str.Contains(",")) { stringFinal.Add(str); } } body = _body; // if (body.name == "braco.R") // { // origin = new IMUData(DataPoint.zero(), DataPoint.zero(), DataPoint.zero(), 0); // } else // { origin = new IMUData(DataPoint.zero(), new DataPoint(body.eulerAngles, 0), DataPoint.zero(), 0); // } data = new CSVData(stringFinal.ToArray(), origin); }
public CSVDataCreationResult SaveToDatabase(List <CSVDataDTO> dataInFile) { List <CSVDataDTO> DataInFile = dataInFile; GetSites(); GetClients(); SetClientsThatDoNotExist(); SetSitesThatDoNotExist(); RemoveData(); foreach (var dataDTO in DataInFile) { var csvData = new CSVData { Client = Clients.First(c => c.Id == dataDTO.ClientId), Date = dataDTO.Date, FooData = dataDTO.FooData, Site = Sites.First(s => s.Name == dataDTO.Site), }; CSVDataEntities.Add(csvData); } _repostory.SaveManyAsync(CSVDataEntities); var success = new CSVDataCreationResult { SuccessResult = DataInFile, SitesThatNeedCreating = SitesThatDoNotExist.Select(s => s.Site).ToList() }; return(success); }
/// <summary> /// Load the entire default folder on start, prepare the CSV files for use. /// </summary> public void Start() { // Get all levels from the default folder. Object[] files; files = Resources.LoadAll("", typeof(TextAsset)); // Load them all into a dictionary with their names so we can look them up. foreach (var csv in files) { CSVData current = new CSVData((TextAsset)csv); levels.Add(current.Cell(0, 1), current); } if (PlayerPrefs.HasKey("LevelToLoad")) { // Load the string for the level to load and then delete the prefs. nextLevel = PlayerPrefs.GetString("LevelToLoad"); // Delete all is fine here because we've saved nothing else. PlayerPrefs.DeleteAll(); } LoadLevel(); }
// open CSV File under "Assets/Resources" public CSVData OpenCSV(string fileName) { CSVData _retVal = null; TextAsset _csvFile = (TextAsset)Resources.Load(fileName) as TextAsset; if(_csvFile == null) return null; string _rawData = _csvFile.text; string[] csvDatas = _rawData.Split('\n'); int rowSize = csvDatas.Length; if(rowSize > 1) { _retVal = new CSVData(rowSize); for(int i = 0; i < rowSize; i++) { string[] rowDatas = parseRow(csvDatas[i]); if(rowDatas == null || rowDatas.Length == 1) { rowSize--; } if(i==0) { _retVal.SetHeader(rowDatas); _retVal.SetColumnSize(rowDatas.Length); } else { _retVal.SetRows(rowDatas, i-1); } } _retVal.SetRowSize(rowSize-1); return _retVal; } else { _retVal = null; return null; } }