我會解釋我需要什麼。如何使用C#從csv文件中刪除不必要的空白並對數據網格進行排序?
在程序結束時,將能夠輸入csv文件,計算並輸出結果。現在我正在一步一步做。
- 能夠導入CSV到datagridview的(做)
- 刪除不必要的空格,排序它的名字(在建)
- 計算
爲了使我的問題清晰和易於理解,這裏是csv文件示例。
正如你可以看到有反覆「lotID」是每一個部分,和2類型lotID。
這就是我迄今爲止所做的。讓我們稱這張照片爲a.I,我成功過濾掉了第一個lotID的lotID。
這是PIC B,你可以看到所述第二類型的 'LotID'(MSA)是在每個部分
再次顯示爲可在PIC甲看到,每個部分的lotID不重複,每個部分出現空白。這是我嘗試要解決的第一件事。其次,我想過濾掉第二個類型lotid的'LotID'標題。
這是代碼。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace test2
{
public partial class Form1 : Form
{
OpenFileDialog openFile = new OpenFileDialog();
public Form1()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
if (openFile.ShowDialog() == DialogResult.OK)
{
List<string[]> rows = File.ReadLines(openFile.FileName).Select(x => x.Split(',')).ToList();
DataTable dt = new DataTable();
List<string> headerNames = rows[0].ToList();
foreach (var headers in rows[0])
{
dt.Columns.Add(headers);
}
foreach (var x in rows.Skip(1))
{
if (x.SequenceEqual(headerNames)) //linq to check if 2 lists are have the same elements (perfect for strings)
continue; //skip the row with repeated headers
dt.Rows.Add(x);
}
dataGridView1.DataSource = dt;
}
}
private void Form1_Load_1(object sender, EventArgs e)
{
openFile.Filter = "CSV|*.csv";
}
}
}
給我一秒鐘,我只是閱讀你發佈的數據。 – CodingYoshi
你想要空白區域和標題不顯示Datagridview? –
@CodingYoshi慢慢來!謝謝! – ccs