这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;
namespace DataAnalysis
{
class Data
{
public int InTime;
public string InLocation;
public bool Direction;
public int LOS_F;
// create a Data object from a CSV format string.
static Data FromString(string line)
{
var fields = line.split(",");
return new Data
{
InTime = TimeSpan.Parse(fields[3]),
InLocation = fields[5],
Direction = fields[5][0], // to get the direction E/N/S/W
LOS_F = float.Parse(fields[16])
};
}
}
class Program
{
string[] directions …Run Code Online (Sandbox Code Playgroud) 我有一个带有以下标题的.csv和文件中的示例行.
AgentID,Profile,Avatar,In_Time,Out_Time,In_Location,Out_Location,Target_Speed(m/s),Distance_Traveled(m),Congested_Duration(s),Total_Duration(s),LOS_A_Duration(s),LOS_B_Duration(s),LOS_C_Duration(s),LOS_D_Duration(s),LOS_E_Duration(s),LOS_F_Duration(s)
2177,DefaultProfile,DarkGreen_LowPoly,08:00:00,08:00:53,East12SubwayportalActor,EWConcourseportalActor,1.39653,60.2243,5.4,52.8,26.4,23,3.4,0,0,0
Run Code Online (Sandbox Code Playgroud)
我需要按照字母方向(例如东,北等)增加时间(08:00:00,08:00:01)和第6列(In_Location),按第4列(In_time)排序.csv.
到目前为止我的代码看起来像这样:
List<string> list = new List<string>();
using (StreamReader reader = new StreamReader("JourneyTimes.csv"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
line.Split(',');
list.Add(line);
}
Run Code Online (Sandbox Code Playgroud)
我在.csv中读到并使用逗号分割它(没有其他逗号,所以这不是一个问题).然后我将每行添加到列表中.我的问题是如何在两个参数和.csv的标题上对列表进行排序.
我一直在寻找这一天,我对编程比较陌生,这是我的第一个程序,所以我为我缺乏知识而道歉.