2

我正在为将 R data.frame 写入 C# DataGridView 的性能而苦苦挣扎。我找到了以下解决方案(原始解决方案),它真的很棒,但是如果我有例如 data.frame 1000x1000 它会占用我的生命。

DataFrame dataset = engine.Evaluate("string1").AsDataFrame(); // string1 is data.frame generated by R
engine.SetSymbol("dataset", dataset);

                for (int i = 0; i < dataset.ColumnCount; ++i)
                {
                    dgvDataFrame.ColumnCount++;
                    dgvDataFrame.Columns[i].Name = dataset.ColumnNames[i];
                }

                for (int i = 0; i < dataset.RowCount; ++i)
                {
                    ++dgvDataFrame.RowCount;
                    dgvDataFrame.Rows[i].HeaderCell.Value = dataset.RowNames[i];

                    for (int k = 0; k < dataset.ColumnCount; ++k)
                    {
                        dgvDataFrame[k, i].Value = dataset[i, k];
                    }
                }

您是否碰巧知道是否有更有效的解决方案。非常感谢您的所有提示或建议。

4

0 回答 0