在多列中插入多个CSV文件

本文关键字:CSV 文件 插入 | 更新日期: 2023-09-27 18:26:21

我的值列表的日期网格视图

如何从3个逗号分隔值(csv)文件中一次性添加第5-10列的3列值

例如:C:''FYP''2000data''Z1ert00000.cvs,

C: ''FYP''2000data''Z1ert00001.cvs和

C: ''FYP''2000data''Z1ert00002.cvs

当我单击"添加/导入"按钮时?

p.S:我有2000个cvs文件要插入到DatagridView中。有吗还有其他更简单的方法吗?意味着我将有2000个专栏出现在Datagridview。

 private void btnImport_Click(object sender, EventArgs e)
 {
      var parsedData = new List<string[]>();
      using (var sr = new StreamReader(txtFilename.Text))  // 
      {
          string line;
          while ((line = sr.ReadLine()) != null)
          {
              string[] row = line.Split(',');
              parsedData.Add(row);
          }
      }
      dataGridView1.ColumnCount = 2;
      for (int i = 0; i < 2; i++)
      {
          var sb = new StringBuilder(parsedData[0][i]);
          dataGridView1.Columns[1].Name = sb.ToString();
      }
      foreach (string[] row in parsedData)
      {
          dataGridView1.Rows.Add(row);
      }
      for (int x = 0; x < 5; x++)
      {
          dataGridView1.Rows.Remove(dataGridView1.Rows[0]);  // first 5 rows of the data
      }
      dataGridView1.Columns.Remove(dataGridView1.Columns[0]); // remove the first column 
 }

这些是只导入一个csv文件的代码

提前感谢!!:)

在多列中插入多个CSV文件

您想要实现的目标

你是说你有2000个文件想在数据网格视图上看到。我发现很难相信这是你真正想要的,因为它会变成

  1. 初始加载相当慢(解析2000个文件)
  2. 无法读取。。。谁滚动浏览2000个专栏

所以我认为你应该首先考虑你想对这些csv文件中的信息做什么。想想UI设计。也许创建一个搜索功能?

处理大数据

如果这些是静态文件,我建议将所有这些csv文件导入数据库,这样您就可以轻松访问它们,并可以在程序中使用ORM模型。看看实体框架。将这些文件导入SQL数据库可以很容易:

BULK INSERT SchoolsTemp
FROM 'C:'CSVData'Schools.csv'
WITH
(
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = ''n',   --Use to shift the control to next row
    TABLOCK
)

或者使用任何现有的教程。

然后,您可以开始考虑对正在获取的数据进行分页,以及如何将它们可视化,使数据变得有用。

希望这能有所帮助。