本文整理汇总了C#中CsvReader.ReadToEnd方法的典型用法代码示例。如果您正苦于以下问题:C# CsvReader.ReadToEnd方法的具体用法?C# CsvReader.ReadToEnd怎么用?C# CsvReader.ReadToEnd使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CsvReader
的用法示例。
在下文中一共展示了CsvReader.ReadToEnd方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Csv1_Transformed
public void Csv1_Transformed()
{
var table = new Table<Csv1Row>();
table.AddColumn(0, "Firstname", x => x.Target.FirstName = x.Value);
table.AddColumn(1, "Lastname", x => x.Target.LastName = x.Value);
table.AddColumn(2, "City", x => x.Target.City = x.Value);
table.AddColumn(3, "Age", x =>
{
int age;
var ok = int.TryParse(x.Value, out age);
x.Target.Age = age;
return ok;
});
var target = new CsvReader<Csv1Row>(table);
target.CellSeparator = ',';
target.HasHeaderLine = true;
var reader = new StringReader(CsvFiles.Csv1);
var result = target.ReadToEnd(reader);
Assert.IsNotNull(result);
Assert.IsNotNull(result.Columns);
Assert.IsNotNull(result.Rows);
Assert.AreEqual(4, result.Rows.Count);
Assert.AreEqual("Firstname", result.Rows[0].Cells[0].Value);
////Assert.AreEqual("Firstname", result.Rows[0].Target.FirstName);
Assert.IsTrue(result.Rows[0].IsHeader);
Assert.AreEqual("Gregory", result.Rows[1].Cells[0].Value);
Assert.AreEqual("Gregory", result.Rows[1].Target.FirstName);
Assert.AreEqual("Gorgini", result.Rows[2].Cells[1].Value);
Assert.AreEqual("Gorgini", result.Rows[2].Target.LastName);
Assert.AreEqual("Valenciennes", result.Rows[3].Cells[2].Value);
Assert.AreEqual("Valenciennes", result.Rows[3].Target.City);
Assert.AreEqual("100", result.Rows[3].Cells[3].Value);
Assert.AreEqual(100, result.Rows[3].Target.Age);
}
示例2: Csv1_Raw
public void Csv1_Raw()
{
var table = new Table();
table.AddColumn(0, "Firstname");
table.AddColumn(1, "Lastname");
table.AddColumn(2, "City");
table.AddColumn(3, "Age");
var target = new CsvReader(table);
target.CellSeparator = ',';
target.HasHeaderLine = true;
var reader = new StringReader(CsvFiles.Csv1);
var result = target.ReadToEnd(reader);
Assert.IsNotNull(result);
Assert.IsNotNull(result.Columns);
Assert.IsNotNull(result.Rows);
Assert.AreEqual(4, result.Rows.Count);
Assert.AreEqual("Firstname", result.Rows[0].Cells[0].Value);
Assert.IsTrue(result.Rows[0].IsHeader);
Assert.AreEqual("Gregory", result.Rows[1].Cells[0].Value);
Assert.AreEqual("Gorgini", result.Rows[2].Cells[1].Value);
Assert.AreEqual("Valenciennes", result.Rows[3].Cells[2].Value);
Assert.AreEqual("100", result.Rows[3].Cells[3].Value);
}
示例3: ImportSpareCodesFromCSV2
private void ImportSpareCodesFromCSV2()
{
ConsoleManager.Show();
Console.WriteLine(DateTime.Now.ToShortTimeString() + " - started...");
string FilePath = "";
OpenFileDialog dlg = new OpenFileDialog();
dlg.DefaultExt = ".csv"; // Default file extension
// dlg.Filter = "*.csv"; // Filter files by extension
Nullable<bool> result = dlg.ShowDialog();
if (result == true)
{
DataAccess da = new DataAccess();
// Open document
FilePath = dlg.FileName;
using (CsvReader csvData = new CsvReader(FilePath))
{
csvData.Settings.Delimiter = ';';
while (csvData.ReadRecord())
{
da.SpareEdit(csvData.ReadToEnd());
}
} // dispose of parser
}
Console.WriteLine(DateTime.Now.ToShortTimeString() + " - finished...");
MessageBox.Show("Import finished!");
Console.ReadLine();
ConsoleManager.Hide();
Application.Current.Shutdown();
}
示例4: FranceLibraries
public void FranceLibraries()
{
// this test resolved a bug (line 98814)
// a separator within a quoted value did make the algorithm quit the cell
// https://www.data.gouv.fr/s/resources/adresses-des-bibliotheques-publiques/20151027-100052/adresses_bibliotheques_2014.csv
string sample = @"insee,libelle1,libelle2,voie_num,voie_type,voie_nom,local,voie,CPBIBLIO,CEDEXB,BP,ville,DEPT,REGION,population_legale
01004,Médiathèque Municipale,La Grenette,10,rue,Amédée Bonnet,,10 rue Amédée Bonnet,01500,,,Ambérieu-en-Bugey,01,82,14347
01081,""Bibliothèque """"le Champ Du Livre"""""",,564,route,des Burgondes,,564 rue des Burgondes,01410,,,Champfromier,01,82,694
35195,""""""la Majuscule"""" Bibliothèque Municipale"",,10,rue,du Clos Gérard,,10 rue du Clos Gérard,35440,,,Montreuil-sur-Ille,35,53,2153
38528,Bibliotheque Municipale,""""""LA LICONTE"""""",195,Promenade des Noyers,,,195 Promenade des Noyers,38410,,,Vaulnaveys-le-Bas,38,82,1227
98814,""Bibliotheque Provinciale, Service Culturel"",Association Löhna - Médiathèque Löhna,,WE,,B.P. 752,WE,98820,,BP 50,Lifou,988,NC,21244
";
var table = new Table();
table.AddColumn(1, "name1");
table.AddColumn(2, "name2");
var target = new CsvReader(table);
target.CellSeparator = ',';
target.HasHeaderLine = true;
var reader = new StringReader(sample);
var result = target.ReadToEnd(reader);
Assert.AreEqual(6, result.Rows.Count);
Assert.AreEqual("Bibliothèque \"le Champ Du Livre\"", result.Rows[2].Cells[0].Value);
Assert.AreEqual("\"la Majuscule\" Bibliothèque Municipale", result.Rows[3].Cells[0].Value);
Assert.AreEqual("\"LA LICONTE\"", result.Rows[4].Cells[1].Value);
Assert.AreEqual("Bibliotheque Provinciale, Service Culturel", result.Rows[5].Cells[0].Value);
}
示例5: dataFileAnalyze
/// <summary>
/// データファイルを解析して使いやすくする
/// </summary>
/// <param name="datapath1">M1, M3のデータが記述されたファイル</param>
/// <param name="datapath2">M2, M4のデータが記述されたファイル</param>
/// <param name="filename">保存するファイル名</param>
private void dataFileAnalyze(string datapath1, string datapath2, string filename, string comment="")
{
//csvファイル殻読み込んだデータを使いやすくするためのリスト
var data1pre = new List<List<string>>();
var data2pre = new List<List<string>>();
var data1 = new List<List<string>>();
var data2 = new List<List<string>>();
//時系列でロボットの状態を記録していくリスト
List<List<string>> wdata = new List<List<string>>();
//ロボットの状態を初期化
m1 = new Motor(dt);
m2 = new Motor(dt);
m3 = new Motor(dt);
m4 = new Motor(dt);
robo = new OmniRobot(dt);
//csvファイルを読み込んでlistに入れる
using (var csv = new CsvReader(datapath1))
{
data1pre = csv.ReadToEnd();
}
using (var csv = new CsvReader(datapath2))
{
data2pre = csv.ReadToEnd();
}
//必要なデータを抜き出す
foreach (var row in data1pre)
{
//まれに時刻データが抜けてるときがあるっぽいので簡易チェック
//コメント行(先頭が#)もこれではじける
if (char.IsNumber(row[0], 0))
{
var record = new List<string>();
record.Add(row[0]);
record.Add(row[2]);
record.Add(row[3]);
record.Add(row[6]);
record.Add(row[7]);
data1.Add(record);
}
}
foreach (var row in data2pre)
{
if (char.IsNumber(row[0], 0))
{
var record = new List<string>();
record.Add(row[0]);
record.Add(row[2]);
record.Add(row[3]);
record.Add(row[6]);
record.Add(row[7]);
data2.Add(record);
}
}
//エンコーダの積算値を記録開始時のものを基準にする
//これは複数回動かしていると最初に帰ってくるエンコーダの値が0でなくなるため
m1.offsetCnt = int.Parse(data1[0][3]);
m2.offsetCnt = int.Parse(data2[0][4]);
m3.offsetCnt = int.Parse(data2[0][3]);
m4.offsetCnt = int.Parse(data1[0][4]);
//要素数の少ないほうを基準にする(最後のほうのデータを受け取る前に終了している可能性があるので)
for (var i = 0; i < Math.Min(data1.Count, data2.Count); i++)
{
double time = i * dt;
//ロボットの状態を更新
m1.update(int.Parse(data1[i][1]), int.Parse(data1[i][3]));
m2.update(int.Parse(data2[i][2]), int.Parse(data2[i][4]));
m3.update(int.Parse(data2[i][1]), int.Parse(data2[i][3]));
m4.update(int.Parse(data1[i][2]), int.Parse(data1[i][4]));
robo.update(m1, m2, m3, m4);
//出力するデータの用意
var record = new List<string>();
//record.Add(((int.Parse(data1[i][0]) + int.Parse(data2[i][0])) / 2).ToString());
record.Add(time.ToString());
record.Add(m1.PWM.ToString());
record.Add(m2.PWM.ToString());
record.Add(m3.PWM.ToString());
record.Add(m4.PWM.ToString());
record.Add(m1.Count.ToString());
record.Add(m2.Count.ToString());
record.Add(m3.Count.ToString());
record.Add(m4.Count.ToString());
record.Add(m1.Velocity.ToString());
record.Add(m2.Velocity.ToString());
record.Add(m3.Velocity.ToString());
record.Add(m4.Velocity.ToString());
record.Add(m1.Acceleration.ToString());
record.Add(m2.Acceleration.ToString());
//.........这里部分代码省略.........