我正在编写这个软件,它读取CSV文件并将其放入datagridview。 在这里,您可以看到该应用程序的图片:
我使用以下代码实现此目的,首先是:
private string[,] LoadCsv(string filename)
{
string whole_file = System.IO.File.ReadAllText(filename);
whole_file = whole_file.Replace('\n', '\r');
string[] lines = whole_file.Split(new char[] { '\r' },
StringSplitOptions.RemoveEmptyEntries);
int num_rows = lines.Length;
int num_cols = lines[0].Split(';').Length;
string[,] values = new string[num_rows, num_cols];
for (int r = 0; r < num_rows; r++)
{
string[] line_r = lines[r].Split(';');
for (int c = 0; c < num_cols; c++)
{
values[r, c] = line_r[c];
}
}
return values;
}
然后这个:
private void btnGo_Click(object sender, EventArgs e)
{
string[,] values = LoadCsv(txtFile.Text);
int num_rows = values.GetUpperBound(0) + 1;
int num_cols = values.GetUpperBound(1) + 1;
dgv.Columns.Clear();
for (int c = 0; c < num_cols; c++)
dgv.Columns.Add(values[0, c], values[0, c]);
for (int r = 1; r < num_rows; r++)
{
dgv.Rows.Add();
for (int c = 0; c < num_cols; c++)
{
dgv.Rows[r - 1].Cells[c].Value = values[r, c];
}
}
}
我现在要问的是,是否有可能在datagridview内或每隔一段时间(需要为1到5分钟的低间隔)平均分析值。
感谢您的帮助!
答案 0 :(得分:0)
如果我理解你,你想每隔x分钟再读一次csv吗? 也许你可以使用像这样的计时器
var timer = new System.Threading.Timer((e)=&gt; { LoadCsv(字符串文件名) },null,0,TimeSpan.FromMinutes(5).TotalMilliseconds);